diff --git wp-includes/user.php wp-includes/user.php
index 6b342c8..8e6b345 100644
--- wp-includes/user.php
+++ wp-includes/user.php
@@ -369,26 +369,7 @@ class WP_User_Query {
 	 */
 	function __construct( $query = null ) {
 		if ( !empty( $query ) ) {
-			$this->query_vars = wp_parse_args( $query, array(
-				'blog_id' => $GLOBALS['blog_id'],
-				'role' => '',
-				'meta_key' => '',
-				'meta_value' => '',
-				'meta_compare' => '',
-				'include' => array(),
-				'exclude' => array(),
-				'search' => '',
-				'search_columns' => array(),
-				'orderby' => 'login',
-				'order' => 'ASC',
-				'offset' => '',
-				'number' => '',
-				'count_total' => true,
-				'fields' => 'all',
-				'who' => ''
-			) );
-
-			$this->prepare_query();
+			$this->prepare_query( $query );
 			$this->query();
 		}
 	}
@@ -397,11 +378,31 @@ class WP_User_Query {
 	 * Prepare the query variables
 	 *
 	 * @since 3.1.0
-	 * @access private
+	 *
+	 * @param string|array $args The query variables
 	 */
-	function prepare_query() {
+	function prepare_query( $query ) {
 		global $wpdb;
 
+		$this->query_vars = wp_parse_args( $query, array(
+			'blog_id' => $GLOBALS['blog_id'],
+			'role' => '',
+			'meta_key' => '',
+			'meta_value' => '',
+			'meta_compare' => '',
+			'include' => array(),
+			'exclude' => array(),
+			'search' => '',
+			'search_columns' => array(),
+			'orderby' => 'login',
+			'order' => 'ASC',
+			'offset' => '',
+			'number' => '',
+			'count_total' => true,
+			'fields' => 'all',
+			'who' => ''
+		) );
+
 		$qv = &$this->query_vars;
 
 		if ( is_array( $qv['fields'] ) ) {
@@ -544,15 +545,16 @@ class WP_User_Query {
 	 * Execute the query, with the current variables
 	 *
 	 * @since 3.1.0
-	 * @access private
 	 */
 	function query() {
 		global $wpdb;
 
+		$query = "SELECT $this->query_fields $this->query_from $this->query_where $this->query_orderby $this->query_limit";
+
 		if ( is_array( $this->query_vars['fields'] ) || 'all' == $this->query_vars['fields'] ) {
-			$this->results = $wpdb->get_results("SELECT $this->query_fields $this->query_from $this->query_where $this->query_orderby $this->query_limit");
+			$this->results = $wpdb->get_results( $query );
 		} else {
-			$this->results = $wpdb->get_col("SELECT $this->query_fields $this->query_from $this->query_where $this->query_orderby $this->query_limit");
+			$this->results = $wpdb->get_col( $query );
 		}
 
 		if ( $this->query_vars['count_total'] )
