--- user.module.old	2007-12-19 17:03:37.000000000 +0100
+++ user.module	2007-12-19 17:50:08.000000000 +0100
@@ -374,7 +374,7 @@
 
   // To reduce the number of SQL queries, we cache the user's permissions
   // in a static variable.
-  if (!isset($perm[$account->uid])) {
+  if (isset($account->uid) && !isset($perm[$account->uid])) {
     $rids = array_keys($account->roles);
     $placeholders = implode(',', array_fill(0, count($rids), '%d'));
     $result = db_query("SELECT DISTINCT(p.perm) FROM {role} r INNER JOIN {permission} p ON p.rid = r.rid WHERE r.rid IN ($placeholders)", $rids);
