Index: nodequeue.module
===================================================================
--- nodequeue.module	(revision 1059)
+++ nodequeue.module	(revision 1063)
@@ -870,7 +870,7 @@
   if (!user_access('administer nodes')) {
     $node_status_sql = ' AND n.status = 1';
   }
-  $query_restricted = db_query(db_rewrite_sql("SELECT DISTINCT(n.nid) FROM {node} n LEFT JOIN {nodequeue_nodes} nq ON nq.nid = n.nid WHERE nq.sqid = %d$node_status_sql ORDER BY nq.position $order"), $sqid); 
+  $query_restricted = db_query(db_rewrite_sql("SELECT DISTINCT(n.nid) FROM {node} n LEFT JOIN {nodequeue_nodes} nq ON nq.nid = n.nid WHERE nq.sqid = %d $node_status_sql ORDER BY nq.position"), $sqid); 
   while ($result_restricted = db_fetch_object($query_restricted)) {
     $nids_visible[$result_restricted->nid] = $result_restricted->nid;
   }
@@ -1340,12 +1340,17 @@
     return array('error' => t('Invalid node'));
   }
 
+  $query_restricted = db_query(db_rewrite_sql("SELECT DISTINCT(n.nid) FROM {node} n LEFT JOIN {nodequeue_nodes} nq ON nq.nid = n.nid WHERE nq.sqid = %d $node_status_sql ORDER BY nq.position"), $sqid); 
+  while ($result_restricted = db_fetch_object($query_restricted)) {
+    $nids_visible[$result_restricted->nid] = $result_restricted->nid;
+  }
+
   $node->position = $position;
   return array(
     'status' => 1,
     'extra' => $node->nid,
     'max' => $queue->size,
-    'data' => nodequeue_arrange_subqueue_entry($queue, $subqueue, $node),
+    'data' => nodequeue_arrange_subqueue_entry($queue, $subqueue, $node, $nids_visible),
   );
 }
 
