diff -rupN nodequeue/includes/nodequeue.admin.inc nodequeueMod/includes/nodequeue.admin.inc
--- nodequeue/includes/nodequeue.admin.inc	2011-09-28 21:22:52.000000000 +0000
+++ nodequeueMod/includes/nodequeue.admin.inc	2011-09-28 21:25:54.000000000 +0000
@@ -363,6 +363,13 @@ function nodequeue_edit_queue_form(&$for
     '#description' => t('The maximum number of nodes will appear in the queue. Enter 0 for no limit'),
   );
 
+  $form['published_status'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Limit to nodes that have published status'),
+    '#default_value' => $queue->published_status,
+    '#description' => t('If selected, the autocomplete field to add nodes to this nodequeue will be restricted to searching for nodes with status of published.'),
+  );
+  
   $form['reverse'] = array(
     '#type' => 'checkbox',
     '#title' => t('Reverse in admin view'),
diff -rupN nodequeue/nodequeue.install nodequeueMod/nodequeue.install
--- nodequeue/nodequeue.install	2011-05-16 23:58:45.000000000 +0000
+++ nodequeueMod/nodequeue.install	2011-09-28 21:25:54.000000000 +0000
@@ -91,6 +91,12 @@ function nodequeue_schema() {
         'size' => 'tiny',
         'default' => 1,
       ),
+      'published_status' => array(
+        'description' => '',
+        'type' => 'int',
+        'size' => 'tiny',
+        'default' => 0,
+      ),
     ), // fields
     'primary key' => array('qid'),
     'unique keys' => array(
@@ -525,6 +531,16 @@ function nodequeue_update_6007() {
 }
 
 /**
+ * Implementation of hook_update_N
+ * Add field to store nodequeue setting for restricting nodequeue to nodes that have status published.
+ */
+function nodequeue_update_6008() {
+  $ret = array();
+  db_add_field($ret, 'nodequeue_queue', 'published_status', array('description' => '', 'type' => 'int', 'size' => 'tiny', 'default' => 0));
+  return $ret;
+}
+
+/**
  * Implementation of hook_install().
  */
 function nodequeue_install() {
diff -rupN nodequeue/nodequeue.module nodequeueMod/nodequeue.module
--- nodequeue/nodequeue.module	2011-09-28 21:24:29.000000000 +0000
+++ nodequeueMod/nodequeue.module	2011-09-28 21:25:54.000000000 +0000
@@ -878,7 +878,7 @@ function nodequeue_load_subqueues_by_ref
  */
 function nodequeue_save(&$queue) {
   if (!isset($queue->qid)) {
-    db_query("INSERT INTO {nodequeue_queue} (title, name, subqueue_title, size, link, link_remove, owner, show_in_links, show_in_tab, show_in_ui, i18n, reverse, reference) VALUES ('%s', '%s', '%s', %d, '%s', '%s', '%s', %d, %d, %d, %d, %d, '%s')", $queue->title, $queue->name, $queue->subqueue_title, $queue->size, $queue->link, $queue->link_remove, $queue->owner, $queue->show_in_links, $queue->show_in_tab, $queue->show_in_ui, $queue->i18n, $queue->reverse, $queue->reference);
+    db_query("INSERT INTO {nodequeue_queue} (title, subqueue_title, size, link, link_remove, owner, show_in_links, show_in_tab, show_in_ui, i18n, reverse, reference, published_status) VALUES ('%s', '%s', %d, '%s', '%s', '%s', %d, %d, %d, %d, %d, '%s', %d)", $queue->title, $queue->subqueue_title, $queue->size, $queue->link, $queue->link_remove, $queue->owner, $queue->show_in_links, $queue->show_in_tab, $queue->show_in_ui, $queue->i18n, $queue->reverse, $queue->reference, $queue->published_status);
     $queue->qid = db_last_insert_id('nodequeue_queue', 'qid');
     if (function_exists('views_invalidate_cache')) {
       views_invalidate_cache();
@@ -887,10 +887,10 @@ function nodequeue_save(&$queue) {
   else {
     // Allow nodequeue to save and not update the name unless supplied
     if (isset($queue->name) && !empty($queue->name)) {
-      db_query("UPDATE {nodequeue_queue} SET size = %d, title = '%s', subqueue_title = '%s', link = '%s', link_remove = '%s', owner = '%s', show_in_links = %d, show_in_tab = %d, show_in_ui = %d, i18n = %d, reverse = %d, reference = '%s' WHERE qid = %d", $queue->size, $queue->title, $queue->subqueue_title, $queue->link, $queue->link_remove, $queue->owner, $queue->show_in_links, $queue->show_in_tab, $queue->show_in_ui, $queue->i18n, $queue->reverse, $queue->reference, $queue->qid);
+      db_query("UPDATE {nodequeue_queue} SET size = %d, title = '%s', subqueue_title = '%s', link = '%s', link_remove = '%s', owner = '%s', show_in_links = %d, show_in_tab = %d, show_in_ui = %d, i18n = %d, reverse = %d, reference = '%s', published_status = %d WHERE qid = %d", $queue->size, $queue->title, $queue->subqueue_title, $queue->link, $queue->link_remove, $queue->owner, $queue->show_in_links, $queue->show_in_tab, $queue->show_in_ui, $queue->i18n, $queue->reverse, $queue->reference, $queue->published_status, $queue->qid);
     }
     else {
-      db_query("UPDATE {nodequeue_queue} SET size = %d, title = '%s', name = '%s', subqueue_title = '%s', link = '%s', link_remove = '%s', owner = '%s', show_in_links = %d, show_in_tab = %d, show_in_ui = %d, i18n = %d, reverse = %d, reference = '%s' WHERE qid = %d", $queue->size, $queue->title, $queue->name, $queue->subqueue_title, $queue->link, $queue->link_remove, $queue->owner, $queue->show_in_links, $queue->show_in_tab, $queue->show_in_ui, $queue->i18n, $queue->reverse, $queue->reference, $queue->qid);
+      db_query("UPDATE {nodequeue_queue} SET size = %d, title = '%s', name = '%s', subqueue_title = '%s', link = '%s', link_remove = '%s', owner = '%s', show_in_links = %d, show_in_tab = %d, show_in_ui = %d, i18n = %d, reverse = %d, reference = '%s', published_status = %d WHERE qid = %d", $queue->size, $queue->title, $queue->name, $queue->subqueue_title, $queue->link, $queue->link_remove, $queue->owner, $queue->show_in_links, $queue->show_in_tab, $queue->show_in_ui, $queue->i18n, $queue->reverse, $queue->reference, $queue->published_status, $queue->qid);
     }
     db_query("DELETE FROM {nodequeue_roles} WHERE qid = %d", $queue->qid);
     db_query("DELETE FROM {nodequeue_types} WHERE qid = %d", $queue->qid);
@@ -1576,6 +1576,10 @@ function nodequeue_api_autocomplete($que
     array_push($where_args, $string);
   }
 
+  if ($queue->published_status) {
+    $where .= " AND n.status = 1";
+  }
+
   // Call to the API.
   $function = $queue->owner ."_nodequeue_autocomplete";
   if (function_exists($function)) {
