diff --git a/src/drupal/sites/all/modules/module_grants/module_grants.module b/src/drupal/sites/all/modules/module_grants/module_grants.module
index 82ced78..449e00c 100755
--- a/src/drupal/sites/all/modules/module_grants/module_grants.module
+++ b/src/drupal/sites/all/modules/module_grants/module_grants.module
@@ -159,25 +159,27 @@ function module_grants_node_access($node_op, $node, $account = NULL) {
   if (!$node) {
     return FALSE;
   }
-
   $nid = $node->nid;
-  if (isset($access["$nid:$node_op"])) {
-    return $access["$nid:$node_op"];
-  }
 
-  // If the node is in a restricted format, disallow editing.
-  if ($node_op == 'update' && !filter_access($node->format)) {
-    return ($access["$nid:$node_op"] = FALSE);
-  }
   // If no account object is supplied, the access check is for the current user.
   if (empty($account)) {
     $account = $user;
   }
+  $uid = $account->uid;
+
+  if (isset($access["$uid:$nid:$node_op"])) {
+    return $access["$uid:$nid:$node_op"];
+  }
+
+  // If the node is in a restricted format, disallow editing.
+  if ($node_op == 'update' && !filter_access($node->format)) {
+    return ($access["$uid:$nid:$node_op"] = FALSE);
+  }
   if (user_access('administer nodes', $account)) {
-    return $access["$nid:$node_op"] = TRUE;
+    return $access["$uid:$nid:$node_op"] = TRUE;
   }
   if (!user_access('access content', $account)) {
-    return $access["$nid:$node_op"] = FALSE;
+    return $access["$uid:$nid:$node_op"] = FALSE;
   }
   $module = node_get_types('module', $node);
   if ($module == 'node') {
@@ -186,7 +188,7 @@ function module_grants_node_access($node_op, $node, $account = NULL) {
   $result = module_invoke($module, 'access', $node_op, $node, $account);
   if (!is_null($result)) {
   //drupal_set_message("'$node_op' access=$result by module $module: '$node->title'", 'warning', FALSE);
-    return $access["$nid:$node_op"] = $result;
+    return $access["$uid:$nid:$node_op"] = $result;
   }
   // Having arrived here, node access has still neither been granted nor denied.
   // We're about to hand over to enabled content access modules, that is those
@@ -210,7 +212,7 @@ function module_grants_node_access($node_op, $node, $account = NULL) {
     if (!$may_view) {
       if ($account->uid != $node->uid) {
         // Not the author: no permission to view this unpublished content.
-        return $access["$nid:$node_op"] = FALSE;
+        return $access["$uid:$nid:$node_op"] = FALSE;
       }
     }
   }
@@ -251,7 +253,7 @@ function module_grants_node_access($node_op, $node, $account = NULL) {
       break;
     }
   }
-  return $access["$nid:$node_op"] = $result;
+  return $access["$uid:$nid:$node_op"] = $result;
 }
 
 /**
