diff --git modules/menu/menu.admin.inc modules/menu/menu.admin.inc
index 14eafa8..cc6a8ba 100644
--- modules/menu/menu.admin.inc
+++ modules/menu/menu.admin.inc
@@ -344,9 +344,17 @@ function menu_edit_item_validate($form, &$form_state) {
     if (isset($parsed_link['query'])) {
       $item['options']['query'] = $parsed_link['query'];
     }
+    else {
+      // Use unset() rather than setting to empty string
+      // to avoid redundant serialized data being stored.
+      unset($item['options']['query']);
+    }
     if (isset($parsed_link['fragment'])) {
       $item['options']['fragment'] = $parsed_link['fragment'];
     }
+    else {
+      unset($item['options']['fragment']);
+    }
     if ($item['link_path'] != $parsed_link['path']) {
       $item['link_path'] = $parsed_link['path'];
     }
