diff --git a/src/modules/locale/LocalePage.cpp b/src/modules/locale/LocalePage.cpp
index 39a8b27c23ddbb865e3e527c8b4bd8a180414e45..efe00e53bcbc9151dad635ed4d30f134e2970e15 100644
--- a/src/modules/locale/LocalePage.cpp
+++ b/src/modules/locale/LocalePage.cpp
@@ -25,6 +25,7 @@
 #include "GlobalStorage.h"
 #include "JobQueue.h"
 #include "LCLocaleDialog.h"
+#include "Settings.h"
 
 #include <QBoxLayout>
 #include <QComboBox>
@@ -471,6 +472,15 @@ LocalePage::updateGlobalStorage()
     Calamares::JobQueue::instance()->globalStorage()
             ->insert( "locationZone", location.zone );
 
+    // If we're in chroot mode (normal install mode), then we immediately set the
+    // timezone on the live system.
+    if ( Calamares::Settings::instance()->doChroot() )
+    {
+        QProcess ::execute( "timedatectl",  // depends on systemd
+                            { "set-timezone",
+                              location.region + '/' + location.zone } );
+    }
+
     m_selectedLocaleConfiguration = guessLocaleConfiguration();
     updateLocaleLabels();
 }