Index: book_manager.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/book_manager/book_manager.module,v
retrieving revision 1.1.2.4
diff -u -p -r1.1.2.4 book_manager.module
--- book_manager.module	15 Jan 2009 02:21:10 -0000	1.1.2.4
+++ book_manager.module	19 Feb 2009 22:43:49 -0000
@@ -227,18 +236,20 @@ function book_manager_nodeapi(&$node, $o
     break;
   case 'insert':
   case 'update':
-    if ((!user_access('create new books') && user_access('create personal books')) || $node->book['ispersonal']) {
-      // TODO: I think this should cascade as well (think about the implications [if any] for users without book privileges.)
-      book_manager_make_personal($node, $user);
-    }
-    elseif (user_access('create new books') && !$form_state['values']['book']['ispersonal']) {
-      book_manager_make_personal($node, $user, FALSE);
-    }
+    if (!empty($node->book['bid']) && $node->book['bid'] == $node->nid) {
+      if ((!user_access('create new books') && user_access('create personal books')) || $node->book['ispersonal']) {
+        // TODO: I think this should cascade as well (think about the implications [if any] for users without book privileges.)
+        book_manager_make_personal($node, $user);
+      }
+      elseif (user_access('create new books') && !$form_state['values']['book']['ispersonal']) {
+        book_manager_make_personal($node, $user, FALSE);
+      }
+    }    
     break;
   case 'delete':
     // we only need to do stuff if this was a top-level node in a personal book
     // code partially taken from book module to determine where our top-level bid goes to.
-    if (!empty($node->book['bid']) && $node->book['bid'] = $node->nid && $node->book_manager & BOOK_MANAGER_IS_IN_PERSONAL) {
+    if (!empty($node->book['bid']) && $node->book['bid'] == $node->nid && $node->book_manager & BOOK_MANAGER_IS_IN_PERSONAL) {
       db_query("DELETE FROM {book_manager} WHERE bid = %d", $node->book['bid']);
       $result = db_query("SELECT b.nid FROM {menu_links} ml INNER JOIN {book} b on b.mlid = ml.mlid WHERE ml.plid = %d", $node->book['mlid']);
       while ($child = db_fetch_array($result)) {
