Index: nodequeue.module
===================================================================
--- nodequeue.module	(revision 11815)
+++ nodequeue.module	(working copy)
@@ -1502,8 +1502,9 @@
 }
 
 function nodequeue_node_tab_access($node) {
-  if (!user_access('manipulate queues')) {
-    //For performance reasons: If the user can't manipulate queues, there is no reason to run the rest of these queries.
+  if (!user_access('manipulate queues') || !variable_get('nodequeue_use_tab', 1)) {
+    // For performance reasons: If the user can't manipulate queues, or the menu
+    // tab is disabled, there is no reason to run the rest of these queries.
     return FALSE;
   }
   $queues = nodequeue_load_queues_by_type($node->type, 'tab');
@@ -1512,12 +1513,13 @@
     return FALSE;
   }
   foreach ($subqueues as $subqueue) {
-    if (!nodequeue_api_subqueue_access($subqueue)) {
-      unset($subqueues[$subqueue->sqid]);
+    if (nodequeue_api_subqueue_access($subqueue)) {
+      return TRUE;
     }
   }
-  return (variable_get('nodequeue_use_tab', 1) && !empty($subqueues));
+  return FALSE;
 }
+
 /**
  * Return TRUE if $user can queue(s) for this node.
  *
