diff -u /usr/local/src/drupal-6.15/modules/search/search.module modules/search/search.module
--- /usr/local/src/drupal-6.15/modules/search/search.module	2009-12-07 08:44:33.000000000 -0700
+++ modules/search/search.module	2010-05-27 13:15:42.000000000 -0600
@@ -199,19 +199,52 @@
     'file path' => drupal_get_path('module', 'dblog'),
   );
 
-  foreach (module_implements('search') as $name) {
-    $items['search/'. $name .'/%menu_tail'] = array(
-      'title callback' => 'module_invoke',
-      'title arguments' => array($name, 'search', 'name', TRUE),
-      'page callback' => 'search_view',
-      'page arguments' => array($name),
-      'access callback' => '_search_menu',
-      'access arguments' => array($name),
-      'type' => MENU_LOCAL_TASK,
-      'parent' => 'search',
-      'file' => 'search.pages.inc',
-    );
+//  foreach (module_implements('search') as $name) {
+//    $items['search/'. $name .'/%menu_tail'] = array(
+//      'title callback' => 'module_invoke',
+//      'title arguments' => array($name, 'search', 'name', TRUE),
+//      'page callback' => 'search_view',
+//      'page arguments' => array($name),
+//      'access callback' => '_search_menu',
+//      'access arguments' => array($name),
+//      'type' => MENU_LOCAL_TASK,
+//      'parent' => 'search',
+//      'file' => 'search.pages.inc',
+//    );
+//  }
+   foreach (module_implements('search') as $module) {
+       $path = 'search/' . $module;
+       $items[$path] = array(
+         'title callback' => 'module_invoke',
+         'title arguments' => array($module, 'search', 'name', TRUE),
+         'page callback' => 'search_view',
+         'page arguments' => array($module),
+         'access callback' => '_search_menu',
+         'access arguments' => array($module),
+         'type' => $module == 'node' ? MENU_DEFAULT_LOCAL_TASK : MENU_LOCAL_TASK,
+         'file' => 'search.pages.inc',
+         'weight' => $module == 'node' ? -10 : 0,
+       );
+       $items["$path/%menu_tail"] = array(
+         'title callback' => 'module_invoke',
+         'title arguments' => array($module, 'search', 'name', TRUE),
+         'page callback' => 'search_view',
+         'page arguments' => array($module),
+         'access callback' => '_search_menu',
+         'access arguments' => array($module),
+         // The default local task points to its parent, but this item points to
+         // where it should so it should not be changed.
+         'type' => MENU_LOCAL_TASK,
+         'file' => 'search.pages.inc',
+         'weight' => 0,
+         // These tabs are not subtabs.
+         //'tab_root' => 'search/node/%',
+         // These tabs need to display at the same level.
+         //'tab_parent' => 'search',
+         'parent' => 'search',
+       );
   }
+ 
   return $items;
 }
 
diff -u /usr/local/src/drupal-6.15/modules/search/search.pages.inc modules/search/search.pages.inc
--- /usr/local/src/drupal-6.15/modules/search/search.pages.inc	2007-12-06 02:51:01.000000000 -0700
+++ modules/search/search.pages.inc	2010-05-27 12:15:20.000000000 -0600
@@ -14,14 +14,20 @@
   // the search query URL clean as a whistle:
   // search/type/keyword+keyword
   if (!isset($_POST['form_id'])) {
-    if ($type == '') {
+//    if ($type == '') {
       // Note: search/node can not be a default tab because it would take on the
       // path of its parent (search). It would prevent remembering keywords when
       // switching tabs. This is why we drupal_goto to it from the parent instead.
-      drupal_goto('search/node');
-    }
+//      drupal_goto('search/node');
+      $keys = search_get_keys();
+      if ($_GET['q'] != 'search' && $type == 'node' && !$keys) {
+          // Due to how search_menu() sets up the tabs, path search/node would
+          // display two sets of tabs. So instead, if there are no keywords and
+          // we're on the node tab, just redirect to the bare 'search' path.
+          drupal_goto('search');
+       }
 
-    $keys = search_get_keys();
+//    $keys = search_get_keys();
     // Only perform search if there is non-whitespace search term:
     $results = '';
     if (trim($keys)) {
