Index: nodequeue.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/nodequeue/nodequeue.module,v
retrieving revision 1.93
diff -u -p -r1.93 nodequeue.module
--- nodequeue.module	29 Sep 2009 16:25:08 -0000	1.93
+++ nodequeue.module	3 Oct 2009 19:19:03 -0000
@@ -1995,22 +1995,21 @@ function nodequeue_remove_subqueue($sqid
  *   The node ID
  */
 function nodequeue_subqueue_add($queue, &$subqueue, $nid) {
-  // If adding this would make the queue too big, pop the front node
-  // (or nodes) out.
-
-  if (!empty($queue->size)) {
-    // 0 means infinity so never do this if false
-    nodequeue_check_subqueue_size($queue, $subqueue, $queue->size - 1);
-  }
-
-  db_query("INSERT INTO {nodequeue_nodes} (sqid, qid, nid, position, timestamp) VALUES (%d, %d, %d, %d, %d)", $subqueue->sqid, $queue->qid, $nid, $subqueue->count + 1, time());
-  $subqueue->count++;
-  if (module_exists('apachesolr')) {
-    apachesolr_mark_node($nid);
+  if (!empty($nid)) {
+    db_query("INSERT INTO {nodequeue_nodes} (sqid, qid, nid, position, timestamp) VALUES (%d, %d, %d, %d, %d)", $subqueue->sqid, $queue->qid, $nid, $subqueue->count + 1, time());
+    $subqueue->count++;
+    // If adding this would make the queue too big, pop the front node
+    // (or nodes) out.
+    if (!empty($queue->size)) {
+      // 0 means infinity so never do this if false
+      nodequeue_check_subqueue_size($queue, $subqueue, $queue->size - 1);
+    }
+    if (module_exists('apachesolr')) {
+      apachesolr_mark_node($nid);
+    }  
+    //Invoke the hook to notify other modules of the node addition.
+    module_invoke_all('nodequeue_add', $subqueue->sqid, $nid);
   }
-
-  // Invoke the hook to notify other modules of the node addition.
-  module_invoke_all('nodequeue_add', $subqueue->sqid, $nid);
 }
 
 /**
