diff --git a/includes/menu.inc b/includes/menu.inc
index 1134d94..6a62949 100644
--- a/includes/menu.inc
+++ b/includes/menu.inc
@@ -3043,6 +3043,27 @@ function _menu_delete_item($item, $force = FALSE) {
 }
 
 /**
+ * Returns the default values for a menu link array.
+ *
+ * @return array
+ *   Default key value pairs for a menu link.
+ */
+function menu_link_defaults() {
+  return array(
+    'menu_name' => 'navigation',
+    'weight' => 0,
+    'link_title' => '',
+    'hidden' => 0,
+    'has_children' => 0,
+    'expanded' => 0,
+    'options' => array(),
+    'module' => 'menu',
+    'customized' => 0,
+    'updated' => 0,
+  );
+}
+
+/**
  * Saves a menu link.
  *
  * After calling this function, rebuild the menu cache using
@@ -3080,18 +3101,7 @@ function menu_link_save(&$item, $existing_item = array(), $parent_candidates = a
   // since a path marked as external does not need to match a router path.
   $item['external'] = (url_is_external($item['link_path'])  || $item['link_path'] == '<front>') ? 1 : 0;
   // Load defaults.
-  $item += array(
-    'menu_name' => 'navigation',
-    'weight' => 0,
-    'link_title' => '',
-    'hidden' => 0,
-    'has_children' => 0,
-    'expanded' => 0,
-    'options' => array(),
-    'module' => 'menu',
-    'customized' => 0,
-    'updated' => 0,
-  );
+  $item += menu_link_defaults();
   if (isset($item['mlid'])) {
     if (!$existing_item) {
       $existing_item = db_query('SELECT * FROM {menu_links} WHERE mlid = :mlid', array('mlid' => $item['mlid']))->fetchAssoc();
diff --git a/modules/menu/menu.admin.inc b/modules/menu/menu.admin.inc
index 66bd6f3..c84ee31 100644
--- a/modules/menu/menu.admin.inc
+++ b/modules/menu/menu.admin.inc
@@ -588,6 +588,7 @@ function menu_edit_menu_submit($form, &$form_state) {
   if ($form['#insert']) {
     // Add 'menu-' to the menu name to help avoid name-space conflicts.
     $menu['menu_name'] = 'menu-' . $menu['menu_name'];
+    // Add administrative link for the new menu.
     $link['link_title'] = $menu['title'];
     $link['link_path'] = $path . $menu['menu_name'];
     $link['router_path'] = $path . '%';
@@ -597,6 +598,8 @@ function menu_edit_menu_submit($form, &$form_state) {
       ':module' => 'system'
     ))
     ->fetchField();
+    // Add menu link defaults. This sets the menu name to navigation.
+    $link += menu_link_defaults();
 
     menu_link_save($link);
     menu_save($menu);
diff --git a/modules/system/system.api.php b/modules/system/system.api.php
index b60f50d..8fc315f 100644
--- a/modules/system/system.api.php
+++ b/modules/system/system.api.php
@@ -1299,6 +1299,8 @@ function hook_menu_alter(&$items) {
  *
  * @param $item
  *   Associative array defining a menu link as passed into menu_link_save().
+ *   Beware the menu link might doesn't have the defaults applied yet. Use
+ *   $item += menu_link_defaults() to ensure the defaults are set.
  *
  * @see hook_translated_menu_link_alter()
  */
