Index: modules/user/user.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.module,v
retrieving revision 1.889
diff -u -p -r1.889 user.module
--- modules/user/user.module	22 Jan 2008 07:51:56 -0000	1.889
+++ modules/user/user.module	25 Jan 2008 19:09:10 -0000
@@ -868,7 +868,7 @@ function user_edit_access($account) {
 }
 
 function user_load_self($arg) {
-  $arg[1] = user_load($GLOBALS['user']->uid);
+  $arg[1] = user_current_load();
   return $arg;
 }
 
@@ -1107,7 +1107,13 @@ function user_init() {
 }
 
 function user_current_load($arg) {
-  return user_load($arg ? $arg : $GLOBALS['user']->uid);
+  // Make sure the anonymous user object is returned for anonymous users.
+  if ($GLOBALS['user']->uid == 0) {
+    return drupal_anonymous_user();
+  }
+  else {
+    return user_load($arg ? $arg : $GLOBALS['user']->uid);
+  }
 }
 
 /**
