Index: wp-includes/query.php
===================================================================
--- wp-includes/query.php	(revision 21708)
+++ wp-includes/query.php	(working copy)
@@ -2642,12 +2642,11 @@
 			$ids = $wpdb->get_col( $this->request );
 
 			if ( $ids ) {
+				$this->posts = $ids;
 				$this->set_found_posts( $q, $limits );
 				_prime_post_caches( $ids, $q['update_post_term_cache'], $q['update_post_meta_cache'] );
-				$this->posts = $ids;
 			} else {
 				$this->posts = array();
-				$this->found_posts = $this->max_num_pages = 0;
 			}
 		} else {
 			$this->posts = $wpdb->get_results( $this->request );
@@ -2770,7 +2769,7 @@
 	function set_found_posts( $q, $limits ) {
 		global $wpdb;
 
-		if ( $q['no_found_rows'] || empty( $limits ) )
+		if ( $q['no_found_rows'] || empty( $limits ) || ! $this->posts )
 			return;
 
 		$this->found_posts = $wpdb->get_var( apply_filters_ref_array( 'found_posts_query', array( 'SELECT FOUND_ROWS()', &$this ) ) );
