Index: wp-includes/meta.php
===================================================================
--- wp-includes/meta.php	(revision 17732)
+++ wp-includes/meta.php	(working copy)
@@ -492,9 +492,6 @@
 			elseif ( ! in_array( $meta_type, array( 'BINARY', 'CHAR', 'DATE', 'DATETIME', 'DECIMAL', 'SIGNED', 'TIME', 'UNSIGNED' ) ) )
 				$meta_type = 'CHAR';
 
-			if ( empty( $meta_key ) && empty( $meta_value ) )
-				continue;
-
 			$alias = $i ? 'mt' . $i : $meta_table;
 
 			$join .= "\nINNER JOIN $meta_table";
@@ -503,6 +500,7 @@
 
 			$i++;
 
+			$where[$k] = '';
 			if ( !empty( $meta_key ) )
 				$where[$k] = $wpdb->prepare( "$alias.meta_key = %s", $meta_key );
 
@@ -531,8 +529,11 @@
 			} else {
 				$meta_compare_string = '%s';
 			}
+			
+			if ( $where[$k] )
+				$where[$k] .= ' AND';
 
-			$where[$k] = ' (' . $where[$k] . $wpdb->prepare( " AND CAST($alias.meta_value AS {$meta_type}) {$meta_compare} {$meta_compare_string})", $meta_value );
+			$where[$k] = ' (' . $where[$k] . $wpdb->prepare( " CAST($alias.meta_value AS {$meta_type}) {$meta_compare} {$meta_compare_string})", $meta_value );
 		}
 		$where = ' AND (' . implode( " {$this->relation} ", $where ) . ' )';
 
