diff --git a/include/class.auth.php b/include/class.auth.php
index 9e981d0119df2378d00b6fe27f302ba4318697d4..c7b80da05b9ce669359702cbfccc14bd97ffc1d5 100644
--- a/include/class.auth.php
+++ b/include/class.auth.php
@@ -419,8 +419,6 @@ abstract class UserAuthenticationBackend  extends AuthenticationBackend {
         $authsession = array(); //clear.
         $authsession['id'] = $user->getId();
         $authsession['key'] = $authkey;
-        $_SESSION['TZ_OFFSET'] = $ost->getConfig()->getTZoffset();
-        $_SESSION['TZ_DST'] = $ost->getConfig()->observeDaylightSaving();
 
         //The backend used decides the format of the auth key.
         // XXX: encrypt to hide the bk??
diff --git a/include/class.client.php b/include/class.client.php
index 2fd702d56cab98c8e9d8bfe1bb55b2b856a73114..309cb78d2f4777b177f414f336e40a0c3c6e5c45 100644
--- a/include/class.client.php
+++ b/include/class.client.php
@@ -277,8 +277,11 @@ class ClientAccount extends ClientAccountModel {
     const PASSWD_RESET_REQUIRED = 0x0002;
 
     function __onload() {
-        if ($this->get('timezone_id'))
+        if ($this->get('timezone_id')) {
             $this->timezone = Timezone::getOffsetById($this->ht['timezone_id']);
+            $_SESSION['TZ_OFFSET'] = $this->timezone;
+            $_SESSION['TZ_DST'] = $this->get('dst');
+        }
     }
 
     function checkPassword($password, $autoupdate=true) {