diff -urp --strip-trailing-cr ../category/category_menu/category_menu.install ./category_menu/category_menu.install
--- ../category/category_menu/category_menu.install	2009-02-07 10:01:16.000000000 +0100
+++ ./category_menu/category_menu.install	2009-06-06 21:43:32.000000000 +0200
@@ -142,3 +142,12 @@ function category_menu_update_6001() {
 
   return $ret;
 }
+
+/**
+ * Ensure correct weight for category_menu module.
+ */
+function category_menu_update_6002() {
+  $ret = array();
+  $ret[] = update_sql("UPDATE {system} SET weight = 8 WHERE name = 'category_menu'");
+  return $ret;
+}
diff -urp --strip-trailing-cr ../category/category_menu/category_menu.module ./category_menu/category_menu.module
--- ../category/category_menu/category_menu.module	2009-05-31 12:24:23.000000000 +0200
+++ ./category_menu/category_menu.module	2009-06-06 21:40:10.000000000 +0200
@@ -100,6 +100,12 @@ function category_menu_nodeapi(&$node, $
           $node->category_menu['plid_for_container'] = $item['menu_name'] .':'. $node->category_menu['plid_for_container'];
         }
       }
+      // No break: Remove menu-on-the-fly information retrieved by core menu module (just in case)
+
+    case 'presave':
+      // Remove any menu-on-the-fly information prior to saving a node,
+      // so that core menu module doesn't save any menu items.
+      unset($node->menu);
       break;
 
     case 'insert':
@@ -134,6 +140,9 @@ function category_menu_nodeapi(&$node, $
 function category_menu_form_alter(&$form, $form_state, $form_id) {
   if (isset($form['type']) && isset($form['#node']) && $form['type']['#value']
   .'_node_form' == $form_id) {
+    // Remove the menu-on-the-fly fieldset added by core menu module.
+    unset($form['menu']);
+
     // Add elements to the node form
     $node = $form['#node'];
 
