diff --git a/chatroom.module b/chatroom.module
index 5a3e111..9349aef 100644
--- a/chatroom.module
+++ b/chatroom.module
@@ -1458,10 +1458,14 @@ function chatroom_chat_post_message($node, $last_msg_id) {
 function chatroom_get_user_timezone_offset() {
   global $user;
 
-  $offset = variable_get('date_default_timezone', 0);
+  $timezone = variable_get('date_default_timezone', 'UTC');
   if (variable_get('configurable_timezones', TRUE) && isset($user->timezone)) {
-    $offset = $user->timezone;
+    $timezone = $user->timezone;
   }
+
+  $timezone = new DateTimeZone($timezone);
+  $now = new DateTime('now', $timezone);
+  $offset = $timezone->getOffset($now);
   return $offset;
 }
 
