diff --git a/modules/book.module b/modules/book.module
index a2111a00febdf6e4c016da2c4cc32d663f0b8419..03b21edb52b1768e8dddef6e673361cdd316c20f 100644
--- a/modules/book.module
+++ b/modules/book.module
@@ -419,7 +419,7 @@ function book_nodeapi(&$node, $op, $teaser, $page) {
   switch ($op) {
     case 'view':
       if (!$teaser) {
-        $book = db_fetch_object(db_query('SELECT * FROM {book} WHERE nid = %d', $node->nid));
+        $book = db_fetch_array(db_query('SELECT * FROM {book} WHERE nid = %d', $node->nid));
 
         if ($book) {
           foreach ($book as $key => $value) {
@@ -454,7 +454,7 @@ function book_navigation($node) {
     $output .= '<div class="book">';
 
     if ($tree = book_tree($node->nid)) {
-      $output .= '<div class="tree">'. book_tree($node->nid) .'</div>';
+      $output .= '<div class="tree">'. $tree .'</div>';
     }
 
     if ($prev = book_prev($node)) {
diff --git a/modules/book/book.module b/modules/book/book.module
index a2111a00febdf6e4c016da2c4cc32d663f0b8419..03b21edb52b1768e8dddef6e673361cdd316c20f 100644
--- a/modules/book/book.module
+++ b/modules/book/book.module
@@ -419,7 +419,7 @@ function book_nodeapi(&$node, $op, $teaser, $page) {
   switch ($op) {
     case 'view':
       if (!$teaser) {
-        $book = db_fetch_object(db_query('SELECT * FROM {book} WHERE nid = %d', $node->nid));
+        $book = db_fetch_array(db_query('SELECT * FROM {book} WHERE nid = %d', $node->nid));
 
         if ($book) {
           foreach ($book as $key => $value) {
@@ -454,7 +454,7 @@ function book_navigation($node) {
     $output .= '<div class="book">';
 
     if ($tree = book_tree($node->nid)) {
-      $output .= '<div class="tree">'. book_tree($node->nid) .'</div>';
+      $output .= '<div class="tree">'. $tree .'</div>';
     }
 
     if ($prev = book_prev($node)) {