diff --git a/revisioning.module b/revisioning.module
index a372289..bb12c6f 100644
--- a/revisioning.module
+++ b/revisioning.module
@@ -808,6 +808,19 @@ function _revisioning_access_node_revision($revision_op, $node) {
   // node_access will invoke hook_node_access(), i.e. revisioning_node_access().
   $access = $node_op && node_access($node_op, $node);
 
+  // Let other modules weigh in on the outcome.
+  // If any module denies access that is the final result.  Otherwise we loop
+  // through to see if there are any that allow to set access to TRUE.
+  $results = module_invoke_all('revisioning_access_node_revision', $revision_op, $node);
+  foreach ($results as $result) {
+    if ($result == NODE_ACCESS_DENY) {
+      return FALSE;
+    }
+    elseif ($result == NODE_ACCESS_ALLOW) {
+      $access = TRUE;
+    }
+  }
+
   return $access;
 }
 
