Index: modules/search/search.module
===================================================================
--- modules/search/search.module	(revision 6859)
+++ modules/search/search.module	(working copy)
@@ -1082,10 +1082,12 @@
         if (module_hook($type, 'search_page')) {
           return module_invoke($type, 'search_page', $results);
         }
-        else {
-          return theme('search_page', $results, $type);
-        }
       }
+
+      if (!isset($results) || !is_array($results)) {
+        $results = array();
+      }
+      return theme('search_page', $results, $type);
     }
   }
 }
@@ -1256,8 +1258,11 @@
  * @param $results
  *   All search result as returned by hook_search().
  * @param $type
- *   The type of item found, such as "user" or "node".
+ *   The type of items found, such as "user" or "node".
  *
+ * @return the HTML formatted search results, or null to get the
+ * default "no results" page.
+ *
  * @ingroup themeable
  */
 function theme_search_page($results, $type) {
