diff --git a/modules/book/book.admin.inc b/modules/book/book.admin.inc
index 2f60610..39fda0f 100644
--- a/modules/book/book.admin.inc
+++ b/modules/book/book.admin.inc
@@ -15,7 +15,12 @@ function book_admin_overview() {
 
   // Add any recognized books to the table list.
   foreach (book_get_books() as $book) {
-    $rows[] = array(l($book['title'], $book['href'], $book['options']), l(t('edit order and titles'), 'admin/content/book/' . $book['nid']));
+    // Check for published status.
+    $status = '';
+    if (empty($book['status'])) {
+      $status = ' ' . t('(Unpublished)');
+    }
+    $rows[] = array(l($book['title'] . $status, $book['href'], $book['options']), l(t('edit order and titles'), 'admin/content/book/' . $book['nid']));
   }
 
   return theme('table', array('header' => $headers, 'rows' => $rows, 'empty' => t('No books available.')));
diff --git a/modules/book/book.module b/modules/book/book.module
index 61061f0..b0fc793 100644
--- a/modules/book/book.module
+++ b/modules/book/book.module
@@ -362,7 +362,7 @@ function theme_book_title_link($variables) {
  * the options for a form select.
  *
  * @return
- *   An array of all books.
+ *   An array of all books both published and unpublished.
  */
 function book_get_books() {
   $all_books = &drupal_static(__FUNCTION__);
@@ -377,10 +377,14 @@ function book_get_books() {
       $query->join('menu_links', 'ml', 'b.mlid = ml.mlid');
       $query->addField('n', 'type', 'type');
       $query->addField('n', 'title', 'title');
+      // Add the node status to the array so that we can search
+      // for this in admin screens and output that the item is unpublished.
+      $query->addField('n', 'status', 'status');
       $query->fields('b');
       $query->fields('ml');
       $query->condition('n.nid', $nids, 'IN');
-      $query->condition('n.status', 1);
+      // Select both published and unpublished items.
+      $query->condition('n.status', array(0,1), 'IN');
       $query->orderBy('ml.weight');
       $query->orderBy('ml.link_title');
       $query->addTag('node_access');
@@ -549,11 +553,22 @@ function _book_add_form_elements(&$form, &$form_state, $node) {
 
   if (isset($node->nid) && ($nid == $node->book['original_bid']) && ($node->book['parent_depth_limit'] == 0)) {
     // This is the top level node in a maximum depth book and thus cannot be moved.
-    $options[$node->nid] = $node->title;
+    // Check for published status.
+    // @TODO Add text to other page callbacks i.e. admin/content/book.
+    $status = '';
+    if ($node->status = 0) {
+      $status = ' ' . t('(Unpublished)');
+    }
+    $options[$node->nid] = $node->title . " $status";
   }
   else {
     foreach (book_get_books() as $book) {
-      $options[$book['nid']] = $book['title'];
+      // Check for published status.
+      $status = '';
+      if (empty($book['status'])) {
+        $status = ' ' . t('(Unpublished)');
+      }
+      $options[$book['nid']] = $book['title'] . " $status";
     }
   }
 
diff --git a/modules/book/book.pages.inc b/modules/book/book.pages.inc
index 5a05c9f..348f792 100644
--- a/modules/book/book.pages.inc
+++ b/modules/book/book.pages.inc
@@ -11,7 +11,12 @@
 function book_render() {
   $book_list = array();
   foreach (book_get_books() as $book) {
-    $book_list[] = l($book['title'], $book['href'], $book['options']);
+    // Check for published status.
+    $status = '';
+    if (empty($book['status'])) {
+      $status = ' ' . t('(Unpublished)');
+    }
+    $book_list[] = l($book['title'] . $status, $book['href'], $book['options']);
   }
 
   return theme('item_list', array('items' => $book_list));
