diff --git a/includes/menu.inc b/includes/menu.inc
index 1fe5a64..964b2c3 100644
--- a/includes/menu.inc
+++ b/includes/menu.inc
@@ -3237,7 +3237,7 @@ function menu_link_save(&$item, $existing_item = array(), $parent_candidates = a
   // array_intersect_key() with the $item as the first parameter because
   // $item may have additional keys left over from building a router entry.
   // The intersect removes the extra keys, allowing a meaningful comparison.
-  if (!$existing_item || (array_intersect_key($item, $existing_item) != $existing_item)) {
+  if (!empty($item['force_save']) || !$existing_item || (array_intersect_key($item, $existing_item) != $existing_item)) {
     db_update('menu_links')
       ->fields(array(
         'menu_name' => $item['menu_name'],
