=== modified file 'includes/menu.inc'
--- includes/menu.inc	2007-06-05 12:13:20 +0000
+++ includes/menu.inc	2007-06-05 23:20:29 +0000
@@ -1343,20 +1343,22 @@ function menu_link_save(&$item) {
   else {
     $item['plid'] = $parent['mlid'];
   }
-  db_query("INSERT INTO {menu_links} (
-    menu_name, plid, link_path,
-    hidden, external, has_children,
-    expanded, weight,
-    module, link_title, options) VALUES (
-    '%s', %d, '%s',
-    %d, %d, %d,
-    %d, %d,
-    '%s', '%s', '%s')",
-    $item['menu_name'], $item['plid'], $item['link_path'],
-    $item['hidden'], $item['_external'], $item['has_children'],
-    $item['expanded'], $item['weight'],
-    $item['module'],  $item['link_title'], serialize($item['options']));
-  $item['mlid'] = db_last_insert_id('menu_links', 'mlid');
+  if (!$existing_item) {
+    db_query("INSERT INTO {menu_links} (
+       menu_name, plid, link_path,
+      hidden, external, has_children,
+      expanded, weight,
+      module, link_title, options) VALUES (
+      '%s', %d, '%s',
+      %d, %d, %d,
+      %d, %d,
+      '%s', '%s', '%s')",
+      $item['menu_name'], $item['plid'], $item['link_path'],
+      $item['hidden'], $item['_external'], $item['has_children'],
+      $item['expanded'], $item['weight'],
+      $item['module'],  $item['link_title'], serialize($item['options']));
+    $item['mlid'] = db_last_insert_id('menu_links', 'mlid');
+  }
 
 
   if (!$item['plid']) {

