diff --git a/modules/node/node.module b/modules/node/node.module
index 2680762..0476752 100644
--- a/modules/node/node.module
+++ b/modules/node/node.module
@@ -3428,7 +3428,20 @@ function _node_query_node_access_alter($query, $type) {
         $base_alias = $nalias;
         $field = 'entity_id';
       }
-      $subquery->where("$nalias.$field = na.nid");
+      $table_join_conditions = db_or();
+
+      // We might have a left join that produces NULL values for $nalias.$field.
+      // We don't want to enforce any grant conditions for those rows since
+      // this will result in an excluded result. A missing relation should not 
+      // mean that the user is denied access to the node content altogether
+      if(isset($tableinfo['join type']) && $tableinfo['join type'] === 'LEFT') {
+        $table_join_conditions->isNull("$nalias.$field");
+      }
+
+      //Join the node access condition with it's base table
+      $table_join_conditions->where("$nalias.$field = na.nid");
+
+      $subquery->condition($table_join_conditions);
 
       // For an entity query, attach the subquery to entity conditions.
       if ($type == 'entity') {
