--- includes/language.inc	2010-03-22 15:18:04.000000000 +0300
+++ includes/language.new.inc	2011-01-17 15:39:34.401921235 +0300
@@ -20,7 +20,11 @@ function language_initialize() {
   
   switch ($mode) {
     case LANGUAGE_NEGOTIATION_NONE:
-      return language_default();
+      if ($user->uid && isset($languages[$user->language])) {
+        return $languages[$user->language];
+      }
+      else
+        return language_default();
 
     case LANGUAGE_NEGOTIATION_DOMAIN:
       foreach ($languages as $language) {
