--- modules/book/book.module.orig	2008-04-26 12:26:21.000000000 +0200
+++ modules/book/book.module	2008-04-26 12:28:29.000000000 +0200
@@ -653,13 +653,15 @@ function book_build_active_trail($book_l
 function book_nodeapi(&$node, $op, $teaser, $page) {
   switch ($op) {
     case 'load':
-      // Note - we cannot use book_link_load() because it will call node_load()
-      $info['book'] = db_fetch_array(db_query('SELECT * FROM {book} b INNER JOIN {menu_links} ml ON b.mlid = ml.mlid WHERE b.nid = %d', $node->nid));
-      if ($info['book']) {
-        $info['book']['href'] = $info['book']['link_path'];
-        $info['book']['title'] = $info['book']['link_title'];
-        $info['book']['options'] = unserialize($info['book']['options']);
-        return $info;
+      if (in_array($node->type, variable_get('book_allowed_types', array('book')))) {
+        // Note - we cannot use book_link_load() because it will call node_load()
+        $info['book'] = db_fetch_array(db_query('SELECT * FROM {book} b INNER JOIN {menu_links} ml ON b.mlid = ml.mlid WHERE b.nid = %d', $node->nid));
+        if ($info['book']) {
+          $info['book']['href'] = $info['book']['link_path'];
+          $info['book']['title'] = $info['book']['link_title'];
+          $info['book']['options'] = unserialize($info['book']['options']);
+          return $info;
+        }
       }
       break;
     case 'view':
