diff --git a/includes/nodequeue.admin.inc b/includes/nodequeue.admin.inc
index ca2898c..ca42e59 100644
--- a/includes/nodequeue.admin.inc
+++ b/includes/nodequeue.admin.inc
@@ -447,6 +447,12 @@ function nodequeue_edit_queue_form($form, &$form_state, $queue) {
     '#description' => t('Ordinarily items are added at the back of the queue, and excess nodes are removed from the front. If checked, this behaviour is reversed: nodes will be added at the front and removed from the back.'),
   );
 
+  $form['publish_only'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Allow only published nodes'),
+    '#default_value' => isset($queue->publish_only) ? $queue->publish_only : 0,
+  );
+
   $form['link'] = array(
     '#type' => 'textfield',
     '#title' => t('Link "add to queue" text'),
diff --git a/nodequeue.install b/nodequeue.install
index 09f47f9..4adf73d 100644
--- a/nodequeue.install
+++ b/nodequeue.install
@@ -97,6 +97,12 @@ function nodequeue_schema() {
         'size' => 'tiny',
         'default' => 1,
       ),
+      'publish_only' => array(
+        'description' => '',
+        'type' => 'int',
+        'size' => 'tiny',
+        'default' => 0,
+      ),
     ), // fields
     'primary key' => array('qid'),
     'unique keys' => array(
@@ -440,3 +446,16 @@ function nodequeue_update_7203() {
   variable_set('menu_rebuild_needed', TRUE);
   drupal_set_message(t('The menus will now be rebuilt.'));
 }
+
+/**
+ * Inserting a 'publish_only' field to show only published node in Autocomplete.
+ */
+function nodequeue_update_7204() {
+  $name_field = array(
+    'description' => '',
+    'type' => 'int',
+    'size' => 'tiny',
+    'default' => 0,
+  );
+  db_add_field('nodequeue_queue', 'publish_only', $name_field);
+}
diff --git a/nodequeue.module b/nodequeue.module
index 65979b8..3ed60d2 100644
--- a/nodequeue.module
+++ b/nodequeue.module
@@ -1005,6 +1005,7 @@ function nodequeue_save(&$queue) {
     'i18n' => $queue->i18n,
     'reverse' => $queue->reverse,
     'insert_at_front' => $queue->insert_at_front,
+    'publish_only' => $queue->publish_only,
     'reference' => $queue->reference,
   );
 
@@ -2016,13 +2017,17 @@ function nodequeue_api_autocomplete($queue, $subqueue, $string) {
 
   $query = db_select('node', 'n')
     ->addTag('node_access')
-    ->fields('n', array('nid', 'tnid', 'title'))
+    ->fields('n', array('nid', 'tnid', 'title', 'status'))
     ->range(0, variable_get('nodequeue_autocomplete_limit', 10));
 
   if (!empty($queue->types)) {
     $query->condition('n.type', $queue->types, 'IN');
   }
 
+  if (!empty($queue->publish_only)) {
+    $query->condition('n.status', 1);
+  }
+
   global $user;
   if (!user_access('administer nodes', $user)) {
     $query->condition(db_or()->condition('n.status', 1)->condition('n.uid', $user->uid));
diff --git a/tests/nodequeue.test b/tests/nodequeue.test
index 4a12ee2..a19a273 100644
--- a/tests/nodequeue.test
+++ b/tests/nodequeue.test
@@ -77,6 +77,7 @@ class NodequeueWebTestCase extends DrupalWebTestCase {
     $queue->new             = TRUE;
     $queue->insert_at_front = 0;
     $queue->reverse         = 0;
+    $queue->publish_only    = 0;
 
     $qid = nodequeue_save($queue);
 
