diff -urN search404.original/search404.install search404/search404.install
--- search404.original/search404.install	2007-03-24 17:42:35.000000000 -0400
+++ search404/search404.install	2007-07-26 21:17:10.000000000 -0400
@@ -11,10 +11,11 @@
   if (variable_get('site_404', '') == 'search404') {
     variable_del('site_404');
   }
+  variable_del('search404_first');
   variable_del('search404_jump');
   variable_del('search404_use_or');
   variable_del('search404_ignore');
   variable_del('search404_ignore_query');
   varaible_del('search404_ignore_extensiopns');
   variable_del('search404_use_search_engine');
-}
\ No newline at end of file
+}
diff -urN search404.original/search404.module search404/search404.module
--- search404.original/search404.module	2007-04-22 11:12:26.000000000 -0400
+++ search404/search404.module	2007-07-26 21:16:44.000000000 -0400
@@ -115,6 +115,11 @@
         $_REQUEST['destination'] = 'node/'. $results[0]['node']->nid;
         drupal_goto();
       }
+      else if (isset($results) && is_array($results) && count($results) > 1 && variable_get('search404_first', false)) {
+        // overwrite $_REQUEST['destination'] because it is set by drupal_not_found()
+        $_REQUEST['destination'] = 'node/'. $results[0]['node']->nid;
+        drupal_goto();
+      }
       else {
         drupal_set_message(t('The page you requested does not exist. For your convenience, a search was performed using the query %keys.', array('%keys' => check_plain($keys))), 'error');
         if (isset($results) && is_array($results) && count($results) > 0) {
@@ -147,6 +152,11 @@
  * Settings form
  */
 function search404_settings() {
+  $form['search404_first'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Jump directly to the first search result when there are multiple results.'),
+    '#default_value' => variable_get('search404_first', false),
+  );
   $form['search404_jump'] = array(
     '#type' => 'checkbox',
     '#title' => t('Jump directly to the search result when there is only one result.'),
@@ -182,4 +192,4 @@
   );
 
   return system_settings_form($form);
-}
\ No newline at end of file
+}
