diff --git includes/menu.inc includes/menu.inc
index 5be5b11..83e0d29 100644
--- includes/menu.inc
+++ includes/menu.inc
@@ -2902,8 +2902,6 @@ function _menu_delete_item($item, $force = FALSE) {
  *   saved.
  */
 function menu_link_save(&$item) {
-  drupal_alter('menu_link', $item);
-
   // This is the easiest way to handle the unique internal path '<front>',
   // 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;
@@ -2920,6 +2918,8 @@ function menu_link_save(&$item) {
     'customized' => 0,
     'updated' => 0,
   );
+  drupal_alter('menu_link', $item);
+
   $existing_item = FALSE;
   if (isset($item['mlid'])) {
     if ($existing_item = db_query("SELECT * FROM {menu_links} WHERE mlid = :mlid", array(':mlid' => $item['mlid']))->fetchAssoc()) {
