diff --git a/modules/book/book.admin.inc b/modules/book/book.admin.inc
index cc3f08f..26c53f2 100644
--- a/modules/book/book.admin.inc
+++ b/modules/book/book.admin.inc
@@ -19,8 +19,13 @@ function book_admin_overview() {
   $headers = array(t('Book'), t('Operations'));
 
   // 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']));
+  foreach (book_get_books(TRUE) as $book) {
+    // Check for published status.
+    $title = $book['title'];
+    if (empty($book['status'])) {
+      $title = ' ' . t('(Unpublished)');
+    }
+    $rows[] = array(l($title, $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 7afed9a..893992a 100644
--- a/modules/book/book.module
+++ b/modules/book/book.module
@@ -374,14 +374,17 @@ function theme_book_title_link($variables) {
  * This list may be used for generating a list of all the books, or for building
  * the options for a form select.
  *
- * @return
- *   An array of all books.
+ * @param bool $include_unpublished
+ *   If enabled also unpublished nodes are fetched.
+ *
+ * @return array
+ *   An array of all books both published and unpublished.
  */
-function book_get_books() {
+function book_get_books($include_unpublished = FALSE) {
   $all_books = &drupal_static(__FUNCTION__);
 
   if (!isset($all_books)) {
-    $all_books = array();
+    $all_books = array('all' => array(), 'published' => array());
     $nids = db_query("SELECT DISTINCT(bid) FROM {book}")->fetchCol();
 
     if ($nids) {
@@ -390,10 +393,10 @@ function book_get_books() {
       $query->join('menu_links', 'ml', 'b.mlid = ml.mlid');
       $query->addField('n', 'type', 'type');
       $query->addField('n', 'title', 'title');
+      $query->addField('n', 'status', 'status');
       $query->fields('b');
       $query->fields('ml');
       $query->condition('n.nid', $nids, 'IN');
-      $query->condition('n.status', 1);
       $query->orderBy('ml.weight');
       $query->orderBy('ml.link_title');
       $query->addTag('node_access');
@@ -401,12 +404,17 @@ function book_get_books() {
       foreach ($result2 as $link) {
         $link['href'] = $link['link_path'];
         $link['options'] = unserialize($link['options']);
-        $all_books[$link['bid']] = $link;
+        $all_books['all'][$link['bid']] = $link;
+        if (!empty($link->status)) {
+          $all_books['published'][$link['bid']] = $link;
+        }
       }
     }
   }
-
-  return $all_books;
+  if ($include_unpublished) {
+    return $all_books['all'];
+  }
+  return $all_books['published'];
 }
 
 /**
@@ -561,11 +569,20 @@ 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.
+    // Check for published status.
+    // @TODO Add text to other page callbacks i.e. admin/content/book.
     $options[$node->nid] = $node->title;
+    if (empty($node->status)) {
+      $options[$node->nid] = ' ' . t('(Unpublished)');
+    }
   }
   else {
-    foreach (book_get_books() as $book) {
+    foreach (book_get_books(TRUE) as $book) {
+      // Check for published status.
       $options[$book['nid']] = $book['title'];
+      if (empty($book['status'])) {
+        $options[$book['nid']] .= ' ' . t('(Unpublished)');
+      }
     }
   }
 
diff --git a/modules/book/book.pages.inc b/modules/book/book.pages.inc
index ac4f357..4687f44 100644
--- a/modules/book/book.pages.inc
+++ b/modules/book/book.pages.inc
@@ -16,7 +16,11 @@
 function book_render() {
   $book_list = array();
   foreach (book_get_books() as $book) {
-    $book_list[] = l($book['title'], $book['href'], $book['options']);
+    $title = $book['title'];
+    if (empty($book['status'])) {
+      $title .= ' ' . t('(Unpublished)');
+    }
+    $book_list[] = l($title, $book['href'], $book['options']);
   }
 
   return theme('item_list', array('items' => $book_list));
