Index: modules/book/book.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/book/book.module,v
retrieving revision 1.487
diff -u -p -r1.487 book.module
--- modules/book/book.module	8 Mar 2009 04:25:04 -0000	1.487
+++ modules/book/book.module	23 Mar 2009 13:06:57 -0000
@@ -63,7 +63,7 @@ function book_perm() {
 /**
  * Inject links into $node as needed.
  */
-function book_node_view_link($node, $teaser, $page) {
+function book_node_view_link($node, $teaser) {
   $links = array();
 
   if (isset($node->book['depth'])) {
@@ -735,7 +735,7 @@ function book_node_load($nodes, $types) 
 /**
  * Implementation of hook_node_view().
  */
-function book_node_view($node, $teaser, $page) {
+function book_node_view($node, $teaser) {
   if (!$teaser) {
     if (!empty($node->book['bid']) && $node->build_mode == NODE_BUILD_NORMAL) {
       $node->content['book_navigation'] = array(
@@ -743,14 +743,14 @@ function book_node_view($node, $teaser, 
         '#weight' => 100,
       );
 
-      if ($page) {
+      if ((bool)menu_get_object()) {
         menu_set_active_trail(book_build_active_trail($node->book));
-        menu_set_active_menu_name($node->book['menu_name']);
+        menu_set_active_menu_names($node->book['menu_name']);
       }
     }
   }
 
-  book_node_view_link($node, $teaser, $page);
+  book_node_view_link($node, $teaser);
 }
 
 /**
Index: modules/book/book.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/book/book.test,v
retrieving revision 1.7
diff -u -p -r1.7 book.test
--- modules/book/book.test	23 Dec 2008 14:32:08 -0000	1.7
+++ modules/book/book.test	23 Mar 2009 13:06:57 -0000
@@ -79,7 +79,7 @@ class BookTestCase extends DrupalWebTest
   }
 
   /**
-   * Check the outline of sub-pages; previous, up, and next; and printer friendly version.
+   * Check the outline of sub-pages; breadcrumb, previous, up, and next; and printer friendly version.
    *
    * @param Node $node
    *   Node to check.
@@ -104,13 +104,14 @@ class BookTestCase extends DrupalWebTest
       $this->pass(t('Node ' . $number . ' doesn\'t have outline.'));
     }
 
-    // Check previous, up, and next links.
+    // Check breadcrumb, previous, up, and next links.
     if ($previous) {
       $this->assertRaw(l('‹ ' . $previous->title, 'node/' . $previous->nid, array('attributes' => array('class' => 'page-previous', 'title' => t('Go to previous page')))), t('Prevoius page link found.'));
     }
 
     if ($up) {
       $this->assertRaw(l('up', 'node/' . $up->nid, array('attributes' => array('class' => 'page-up', 'title' => t('Go to parent page')))), t('Up page link found.'));
+      $this->assertRaw(l($up->title, 'node/' . $up->nid), t('Parent breadcrumb found.'));
     }
 
     if ($next) {
