Index: wp-includes/user.php
===================================================================
--- wp-includes/user.php	(revision 23793)
+++ wp-includes/user.php	(working copy)
@@ -360,7 +360,7 @@
 		if ( !empty( $query ) ) {
 			$this->query_vars = wp_parse_args( $query, array(
 				'blog_id' => $GLOBALS['blog_id'],
-				'role' => '',
+				'role' => array(),
 				'meta_key' => '',
 				'meta_value' => '',
 				'meta_compare' => '',
@@ -492,18 +492,29 @@
 			$qv['blog_id'] = $blog_id = 0; // Prevent extra meta query
 		}
 
-		$role = trim( $qv['role'] );
+		$roles = $qv['role'];
+		if( is_string( $roles ) ) {
+			$roles = array( $roles );
+		}
 
-		if ( $blog_id && ( $role || is_multisite() ) ) {
-			$cap_meta_query = array();
-			$cap_meta_query['key'] = $wpdb->get_blog_prefix( $blog_id ) . 'capabilities';
+		if ( $blog_id && ( !empty( $roles ) || is_multisite() ) ) {
+			if( !empty( $roles ) ) {
+				// Set relation
+				$qv['meta_query']['relation'] = 'OR';
 
-			if ( $role ) {
-				$cap_meta_query['value'] = '"' . $role . '"';
-				$cap_meta_query['compare'] = 'like';
+				foreach( $roles as $role ) {
+					$cap_meta_query = array();
+					$cap_meta_query['key'] = $wpdb->get_blog_prefix( $blog_id ) . 'capabilities';
+					$cap_meta_query['value'] = '"' . trim( $role ) . '"';
+					$cap_meta_query['compare'] = 'like';
+					$qv['meta_query'][] = $cap_meta_query;
+				}
+			}else {
+				// Multisite
+				$cap_meta_query = array();
+				$cap_meta_query['key'] = $wpdb->get_blog_prefix( $blog_id ) . 'capabilities';
+				$qv['meta_query'][] = $cap_meta_query;
 			}
-
-			$qv['meta_query'][] = $cap_meta_query;
 		}
 
 		$meta_query = new WP_Meta_Query();
