diff --git a/nodeaccess.module b/nodeaccess.module
index 4de877e..e463972 100644
--- a/nodeaccess.module
+++ b/nodeaccess.module
@@ -75,9 +75,28 @@ function nodeaccess_permission() {
 /**
  * Implements hook_node_access().
  */
+function nodeaccess_node_access($node, $op, $account) {
+  if ($op == 'update' || $op == 'delete') {
+    global $user;
+    // If the node belongs to a deleted user.
+    if ($user->uid == 0 && $node->uid == 0) {
+      // We check if the role has particular access to this node.
+      $grants = _nodeaccess_get_grants($node);
+      // If anonymous has rights to this node, we allow them.
+      if (($grants['rid'][1]['grant_update'] && $op == 'update') ||
+          ($grants['rid'][1]['grant_delete'] && $op == 'delete')) {
+        return NODE_ACCESS_ALLOW;
+      }
+      return NODE_ACCESS_DENY;
+    }
+  }
+}
+
+/**
+ * Determine access to Grant tab.
+ */
 function nodeaccess_access($op, $node, $account = NULL) {
   global $user;
-
   if (!$node) {
     return FALSE;
   }
   