diff --git a/core/includes/menu.inc b/core/includes/menu.inc
index b928a26..5961d87 100644
--- a/core/includes/menu.inc
+++ b/core/includes/menu.inc
@@ -1470,7 +1470,9 @@ function menu_tree_check_access(&$tree, $node_links = array()) {
     $nids = array_keys($node_links);
     $select = db_select('node', 'n');
     $select->addField('n', 'nid');
-    $select->condition('n.status', 1);
+    if (!user_access('administer menu') && !user_access('administer nodes')) {
+      $select->condition('n.status', 1);
+    }
     $select->condition('n.nid', $nids, 'IN');
     $select->addTag('node_access');
     $nids = $select->execute()->fetchCol();
