diff --git a/modules/menu/menu.admin.inc b/modules/menu/menu.admin.inc
index 7b5882c530189fc7813d520aa30368246d313892..cb33cbb8566494e3320254a12216793cfee49b6f 100644
--- a/modules/menu/menu.admin.inc
+++ b/modules/menu/menu.admin.inc
@@ -377,7 +377,7 @@ function menu_edit_item_validate($form, &$form_state) {
     else {
       unset($item['options']['fragment']);
     }
-    if ($item['link_path'] != $parsed_link['path']) {
+    if (isset($parsed_link['path']) && $item['link_path'] != $parsed_link['path']) {
       $item['link_path'] = $parsed_link['path'];
     }
   }
diff --git a/modules/menu/menu.test b/modules/menu/menu.test
index b457177cdbb0fccd69e0a36d975ab95c54aeb2d1..d1f16f6cecb2759a8aabb52c40c338313543ec80 100644
--- a/modules/menu/menu.test
+++ b/modules/menu/menu.test
@@ -318,7 +318,7 @@ class MenuTestCase extends DrupalWebTestCase {
    * @param string $menu_name Menu name.
    */
   function addInvalidMenuLink($menu_name = 'navigation') {
-    foreach (array('-&-', 'admin/people/permissions') as $link_path) {
+    foreach (array('-&-', 'admin/people/permissions', '#') as $link_path) {
       $edit = array(
         'link_path' => $link_path,
         'link_title' => 'title',