Index: nodequeue.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/nodequeue/nodequeue.module,v
retrieving revision 1.106
diff -u -p -r1.106 nodequeue.module
--- nodequeue.module	16 Mar 2010 22:10:45 -0000	1.106
+++ nodequeue.module	3 Jun 2010 14:26:24 -0000
@@ -1293,6 +1293,11 @@ function nodequeue_arrange_subqueue_form
     if (empty($nid)) {
       form_set_error('', t('Please enter a valid node title.'));
     }
+    else if (isset($form[$nid]['#node'])) {
+      $title = preg_replace('/\[nid: ' . $nid . '\]$/', '', $form_state['values']['add']['nid'], 1);
+      form_set_error('', t('%title is already in the queue.', array('%title' => $title)));
+      $nid = '';
+    }
   }
 
   nodequeue_subqueue_add($queue, $subqueue, $nid);
@@ -2587,6 +2592,15 @@ function nodequeue_api_autocomplete($que
     }
   }
 
+  // Ignore nodes that are already in the queue.
+  $sqid = $subqueue->sqid;
+  $result = db_query("SELECT nid FROM {nodequeue_nodes} WHERE sqid = %d", $sqid);
+  while ($nid = db_result($result)) {
+    if (isset($matches[$nid])) {
+      unset($matches[$nid]);
+    }
+  }
+
   return $matches;
 }
 
