Index: wp-includes/query.php
===================================================================
--- wp-includes/query.php	(revision 21789)
+++ wp-includes/query.php	(working copy)
@@ -1479,10 +1479,8 @@
 			$this->is_single = false;
 		} else {
 		// Look for archive queries. Dates, categories, authors, search, post type archives.
-
-			if ( !empty($qv['s']) ) {
+			if ( ! empty( $qv['s'] ) || ( $this->is_main_query() && array_key_exists( 's', $GLOBALS['wp']->query_vars ) ) )
 				$this->is_search = true;
-			}
 
 			if ( '' !== $qv['second'] ) {
 				$this->is_time = true;
@@ -2203,6 +2201,8 @@
 				if ( !is_user_logged_in() )
 					$search .= " AND ($wpdb->posts.post_password = '') ";
 			}
+		} elseif ( $this->is_search ) {
+			$search = 'AND 0';
 		}
 
 		// Allow plugins to contextually add/remove/modify the search section of the database query
@@ -2530,7 +2530,7 @@
 		}
 
 		// Comments feeds
-		if ( $this->is_comment_feed && ( $this->is_archive || $this->is_search || !$this->is_singular ) ) {
+		if ( $this->is_comment_feed && ( $this->is_archive || ( $this->is_search && ! empty( $q['s'] ) ) || !$this->is_singular ) ) {
 			if ( $this->is_archive || $this->is_search ) {
 				$cjoin = "JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID) $join ";
 				$cwhere = "WHERE comment_approved = '1' $where";
