diff --git a/modules/user.module b/modules/user.module
index e91ba37e64dd3d718d44daffb7d8159e9466425f..4ac21d46ee5c54656c2b61f3debec265fb510f95 100644
--- a/modules/user.module
+++ b/modules/user.module
@@ -941,7 +941,7 @@ function user_logout() {
   module_invoke_all('user', 'logout', NULL, $user);
 
   // We have to use $GLOBALS to unset a global variable:
-  unset($GLOBALS['user']);
+  $user = user_load(array('uid' => 0));
 
   drupal_goto();
 }
diff --git a/modules/user/user.module b/modules/user/user.module
index e91ba37e64dd3d718d44daffb7d8159e9466425f..4ac21d46ee5c54656c2b61f3debec265fb510f95 100644
--- a/modules/user/user.module
+++ b/modules/user/user.module
@@ -941,7 +941,7 @@ function user_logout() {
   module_invoke_all('user', 'logout', NULL, $user);
 
   // We have to use $GLOBALS to unset a global variable:
-  unset($GLOBALS['user']);
+  $user = user_load(array('uid' => 0));
 
   drupal_goto();
 }