Index: memcache-session.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/memcache/memcache-session.inc,v
retrieving revision 1.1.2.2.2.10
diff -u -p -r1.1.2.2.2.10 memcache-session.inc
--- memcache-session.inc	14 Jul 2009 22:07:11 -0000	1.1.2.2.2.10
+++ memcache-session.inc	1 Jun 2010 01:35:27 -0000
@@ -223,25 +223,29 @@ function sess_user_load($session) {
     // In either of these cases, the user must be retrieved from the database.
     if (!$user->uid && isset($session->uid) && $session->uid != 0) {
       $user = db_fetch_object(db_query('SELECT u.* FROM {users} u WHERE u.uid = %d', $session->uid));
+      if (!$user->status) {
+        $user = drupal_anonymous_user($session->session);
+      }
+      else {
+        $user = drupal_unpack($user);
+        // Normally we would join the session and user tables. But we already
+        // have the session information. So add that in.
+        $user->sid = $session->sid;
+        $user->cache = $session->cache;
+        $user->hostname = $session->hostname;
+        $user->timestamp = $session->timestamp;
+        $user->session = empty($session->session) ? '' : $session->session;
 
-      $user = drupal_unpack($user);
-      // Normally we would join the session and user tables. But we already
-      // have the session information. So add that in.
-      $user->sid = $session->sid;
-      $user->cache = $session->cache;
-      $user->hostname = $session->hostname;
-      $user->timestamp = $session->timestamp;
-      $user->session = empty($session->session) ? '' : $session->session;
-
-      // Add roles element to $user
-      $user->roles = array();
-      $user->roles[DRUPAL_AUTHENTICATED_RID] = 'authenticated user';
-      $result = db_query("SELECT r.rid, r.name FROM {role} r INNER JOIN {users_roles} ur ON ur.rid = r.rid WHERE ur.uid = %d", $user->uid);
-      while ($role = db_fetch_object($result)) {
-        $user->roles[$role->rid] = $role->name;
+        // Add roles element to $user
+        $user->roles = array();
+        $user->roles[DRUPAL_AUTHENTICATED_RID] = 'authenticated user';
+        $result = db_query("SELECT r.rid, r.name FROM {role} r INNER JOIN {users_roles} ur ON ur.rid = r.rid WHERE ur.uid = %d", $user->uid);
+        while ($role = db_fetch_object($result)) {
+          $user->roles[$role->rid] = $role->name;
+        }
       }
     }
-    else if ($user->uid) {
+    else if ($user->uid && $user->status) {
       // Got a user object from 'users' memcache bin. Mark it in case modules
       // want to know that this user was created from memcache.
       $user->from_cache = TRUE;
