diff --git a/includes/session.inc b/includes/session.inc
index 093d973c9566fb25dc0f2b2d214ca2d29c2b6326..b10a902e488ca46a9a3824390f27bbe7f2d4fd34 100644
--- a/includes/session.inc
+++ b/includes/session.inc
@@ -43,8 +43,9 @@ function sess_write($key, $value) {
   global $user;
 
   db_query("UPDATE {sessions} SET uid = %d, cache = %d, hostname = '%s', session = '%s', timestamp = %d WHERE sid = '%s'", $user->uid, $user->cache, $_SERVER["REMOTE_ADDR"], $value, time(), $key);
-  db_query("UPDATE {users} SET access = %d WHERE uid = %d", time(), $user->uid);
-
+  if ($user->uid) {
+    db_query("UPDATE {users} SET access = %d WHERE uid = %d", time(), $user->uid);
+  }
   return '';
 }