diff --git a/modules/menu/menu.admin.inc b/modules/menu/menu.admin.inc
index 1f3c4f7..ab0f6b5 100644
--- a/modules/menu/menu.admin.inc
+++ b/modules/menu/menu.admin.inc
@@ -362,7 +362,7 @@ function menu_edit_item_validate($form, &$form_state) {
     $item['link_path'] = $normal_path;
   }
   if (!url_is_external($item['link_path'])) {
-    $parsed_link = parse_url($item['link_path']);
+    $parsed_link = parse_url('http://example.com/' . $item['link_path']);
     if (isset($parsed_link['query'])) {
       $item['options']['query'] = drupal_get_query_array($parsed_link['query']);
     }
@@ -378,7 +378,7 @@ function menu_edit_item_validate($form, &$form_state) {
       unset($item['options']['fragment']);
     }
     if ($item['link_path'] != $parsed_link['path']) {
-      $item['link_path'] = $parsed_link['path'];
+      $item['link_path'] = ltrim($parsed_link['path'], '/');
     }
   }
   if (!trim($item['link_path']) || !drupal_valid_path($item['link_path'], TRUE)) {
