diff --git a/core/modules/user/user.module b/core/modules/user/user.module
index 016fa36..5235bc5 100644
--- a/core/modules/user/user.module
+++ b/core/modules/user/user.module
@@ -740,7 +740,7 @@ function user_access($string, $account = NULL) {
     $drupal_static_fast['perm'] = &drupal_static(__FUNCTION__);
   }
   $perm = &$drupal_static_fast['perm'];
-  if (!isset($perm[$account->uid])) {
+  if (!isset($perm[$account->uid]) && isset($account->roles) && is_array($account->roles)) {
     $role_permissions = user_role_permissions($account->roles);
 
     $perms = array();
