diff --git includes/menu.inc includes/menu.inc
index ab92a22..646a033 100644
--- includes/menu.inc
+++ includes/menu.inc
@@ -783,11 +783,31 @@ function _menu_link_map_translate(&$map, $to_arg_functions) {
   }
 }
 
+/**
+ * Returns path as one string from the argument we are currently at.
+ */
 function menu_tail_to_arg($arg, $map, $index) {
   return implode('/', array_slice($map, $index));
 }
 
 /**
+ * Loads path as one string from the argument we are currently at.
+ *
+ * To use this load function, you must specify the load arguments
+ * in the router item as:
+ * @code
+ * $item['load arguments'] = array('%map', '%index');
+ * @endcode
+ *
+ * @see search_menu().
+ */
+function menu_tail_load($arg, &$map, $index) {
+  $arg = implode('/', array_slice($map, $index));
+  $map = array_slice($map, 0, $index);
+  return $arg;
+}
+
+/**
  * This function is similar to _menu_translate() but does link-specific
  * preparation such as always calling to_arg functions
  *
diff --git modules/search/search.module modules/search/search.module
index 3fc39eb..deabf59 100644
--- modules/search/search.module
+++ modules/search/search.module
@@ -209,6 +209,7 @@ function search_menu() {
       );
       $items["$path/%menu_tail"] = array(
         'title' => $search_info['title'],
+        'load arguments' => array('%map', '%index'),
         'page callback' => 'search_view',
         'page arguments' => array($module, 2),
         'access callback' => '_search_menu_access',
diff --git modules/search/search.test modules/search/search.test
index b5437ea..4db819d 100644
--- modules/search/search.test
+++ modules/search/search.test
@@ -279,6 +279,13 @@ class SearchPageText extends DrupalWebTestCase {
     $this->drupalPost('search/user', $edit, t('Search'));
     $this->assertText(t('Search'));
     $this->assertTitle($title, 'Search page title is correct');
+
+    // Test that search keywords containing slashes are correctly loaded
+    // from the path and displayed in the search form.
+    $arg = $this->randomName() . '/' . $this->randomName();
+    $this->drupalGet('search/node/' . $arg);
+    $input = $this->xpath("//input[@id='edit-keys' and @value='{$arg}']");
+    $this->assertFalse(empty($input), 'Search keys with a / are correctly set as the default value in the search box.');
   }
 }
 
