### Eclipse Workspace Patch 1.0
#P drupal-HEAD
Index: modules/menu/menu.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/menu/menu.admin.inc,v
retrieving revision 1.67
diff -u -r1.67 menu.admin.inc
--- modules/menu/menu.admin.inc	3 Nov 2009 05:27:18 -0000	1.67
+++ modules/menu/menu.admin.inc	3 Nov 2009 20:50:42 -0000
@@ -346,23 +346,23 @@
  */
 function menu_edit_item_validate($form, &$form_state) {
   $item = &$form_state['values']['menu'];
-  $normal_path = drupal_get_normal_path($item['link_path']);
-  if ($item['link_path'] != $normal_path) {
-    drupal_set_message(t('The menu system stores system paths only, but will use the URL alias for display. %link_path has been stored as %normal_path', array('%link_path' => $item['link_path'], '%normal_path' => $normal_path)));
-    $item['link_path'] = $normal_path;
-  }
+  $parsed_link = drupal_parse_url($item['link_path']);
   if (!url_is_external($item['link_path'])) {
-    $parsed_link = parse_url($item['link_path']);
-    if (isset($parsed_link['query'])) {
-      $item['options']['query'] = $parsed_link['query'];
-    }
-    if (isset($parsed_link['fragment'])) {
-      $item['options']['fragment'] = $parsed_link['fragment'];
+    $normal_path = drupal_get_normal_path($item['link_path']);
+    if ($item['link_path'] != $normal_path) {
+      drupal_set_message(t('The menu system stores system paths only, but will use the URL alias for display. %link_path has been stored as %normal_path', array('%link_path' => $item['link_path'], '%normal_path' => $normal_path)));
+      $item['link_path'] = $normal_path;
     }
     if ($item['link_path'] != $parsed_link['path']) {
       $item['link_path'] = $parsed_link['path'];
     }
   }
+  if (!empty($parsed_link['query'])) {
+    $item['options']['query'] = $parsed_link['query'];
+  }
+  if (!empty($parsed_link['fragment'])) {
+    $item['options']['fragment'] = $parsed_link['fragment'];
+  }
   if (!trim($item['link_path']) || !menu_valid_path($item)) {
     form_set_error('link_path', t("The path '@link_path' is either invalid or you do not have access to it.", array('@link_path' => $item['link_path'])));
   }
