diff -urp --strip-trailing-cr ../category/category_menu/category_menu.module ./category_menu/category_menu.module
--- ../category/category_menu/category_menu.module	2009-02-07 12:37:14.000000000 +0100
+++ ./category_menu/category_menu.module	2009-05-20 21:24:09.000000000 +0200
@@ -649,8 +649,6 @@ function category_menu_map_save($node) {
       $new_plid = _category_menu_map_save_category($node->nid);
     }
 
-    $container_id = !empty($node->category['cnid']) ? $node->category['cnid'] : $node->nid;
-    $node->category_menu_map['menu_name'] = category_menu_menu_name($container_settings['menu_name']);
     $node->category_menu_map['expanded'] = $container_settings['expanded_for_cats'];
   }
   // Logic for assigned node types.
@@ -675,7 +673,8 @@ function category_menu_map_save($node) {
     elseif (!(($container_settings += ((array) category_menu_get_container($linked_cnid))) && $container_settings['links_for_cats'] || $container_settings['hierarchy'] < 2)) {
       $abort_menu_save = TRUE;
     }
-    // Abort if this node is not tagged with exactly one category.
+    // Abort if this node is not tagged with exactly one category from
+    // the container linked to this content type.
     elseif (!(($assigned_cats = category_node_get_categories_by_container($node, $linked_cnid)) && count($assigned_cats) == 1)) {
       $abort_menu_save = TRUE;
     }
@@ -693,9 +692,9 @@ function category_menu_map_save($node) {
     }
 
     $new_plid = $assigned_cat_menu_link['mlid'];
-    $node->category_menu_map['menu_name'] = category_menu_menu_name($node->type);
   }
 
+  $node->category_menu_map['menu_name'] = category_menu_menu_name($container_settings['menu_name'], $container_settings['cid']);
   $node->category_menu_map['link_path'] = 'node/'. $node->nid;
   $node->category_menu_map['link_title'] = $node->title;
   $node->category_menu_map['parent_mismatch'] = FALSE;
@@ -786,7 +785,7 @@ function category_menu_map_delete($nid) 
 /**
  * Generate the corresponding menu name from a container ID.
  */
-function category_menu_menu_name($menu_name) {
+function category_menu_menu_name($menu_name, $cnid) {
   if ($menu_name == 'default') {
     return 'category-menu-toc-'. $cnid;
   }
