--- 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':