Index: sms_user.module
===================================================================
--- sms_user.module	(revision 2266)
+++ sms_user.module	(working copy)
@@ -75,8 +75,17 @@
 }
 
 function _sms_user_sleep_active($account) {
+  //if the user has a timezone set in his account get the time there
+  if (isset($account->timezone_name)) {
+    $timezone = new DateTimeZone($account->timezone_name);
+    $date = new DateTime();
+    $date->setTimezone( $timezone );
+    $current_hour = $date->format('G');
+  }
+  else {
   $current_hour = date('G');
-  $current_hour = 22;
+  }
+  //$current_hour = 22;
 
   if ($account->sms_user['sleep_start_time'] <= $current_hour && $account->sms_user['sleep_end_time'] >= $current_hour) {
     return TRUE;
@@ -346,7 +355,7 @@
         }
       }
     }
-    $edit['sms_user'] = NULL;
+    $edit['sms_user'][0] = NULL;
   }
 }
 
