Index: wp-admin/users.php
===================================================================
--- wp-admin/users.php	(revision 19932)
+++ wp-admin/users.php	(working copy)
@@ -338,6 +338,10 @@
 		wp_redirect( add_query_arg( 'paged', $total_pages ) );
 		exit;
 	}
+
+	if ( current_user_can( 'promote_users' ) && !wp_is_large_network( 'users' ) )
+		wp_enqueue_script( 'user-search' );
+
 	include('./admin-header.php');
 
 	$messages = array();
Index: wp-admin/admin-ajax.php
===================================================================
--- wp-admin/admin-ajax.php	(revision 19932)
+++ wp-admin/admin-ajax.php	(working copy)
@@ -34,7 +34,7 @@
 
 do_action( 'admin_init' );
 
-$core_actions_get = array( 'fetch-list', 'ajax-tag-search', 'wp-compression-test', 'imgedit-preview', 'oembed-cache', 'autocomplete-user' );
+$core_actions_get = array( 'fetch-list', 'ajax-tag-search', 'wp-compression-test', 'imgedit-preview', 'oembed-cache', 'autocomplete-user', 'autocomplete-site' );
 
 $core_actions_post = array(
 	'oembed-cache', 'image-editor', 'delete-comment', 'delete-tag', 'delete-link',
Index: wp-admin/includes/ajax-actions.php
===================================================================
--- wp-admin/includes/ajax-actions.php	(revision 19932)
+++ wp-admin/includes/ajax-actions.php	(working copy)
@@ -150,25 +150,33 @@
 }
 
 function wp_ajax_autocomplete_user() {
-	if ( !is_multisite() || !current_user_can( 'promote_users' ) || wp_is_large_network( 'users' ) || !is_super_admin() && apply_filters( 'autocomplete_users_for_site_admins', false ) )
+	if ( !is_multisite() || !current_user_can( 'promote_users' ) || wp_is_large_network( 'users' ) || !is_super_admin() )
 		wp_die( -1 );
 	
 	$return = array();
 
+	// Check the type of request
+	if ( isset( $_REQUEST['autocomplete_type'] ) )
+		$type = $_REQUEST['autocomplete_type'];
+	else
+		$type = 'add';
+
 	// Exclude current users of this blog
 	if ( isset( $_REQUEST['site_id'] ) )
 		$id = absint( $_REQUEST['site_id'] );
 	else
 		$id = get_current_blog_id();
 
-	$this_blog_users = get_users( array( 'blog_id' => $id, 'fields' => 'ID' ) );
+	$include_blog_users = ( $type == 'search' ? get_users( array( 'blog_id' => $id, 'fields' => 'ID' ) ) : array() );
+	$exclude_blog_users = ( $type == 'add' ? get_users( array( 'blog_id' => $id, 'fields' => 'ID' ) ) : array() );
 
 	$users = get_users( array(
 		'blog_id' => false,
 		'search'  => '*' . $_REQUEST['term'] . '*',
-		'exclude' => $this_blog_users,
+		'include' => $include_blog_users,
+		'exclude' => $exclude_blog_users,
 		'search_columns' => array( 'user_login', 'user_nicename', 'user_email' ),
-	) );	
+	) );
 
 	foreach ( $users as $user ) {
 		$return[] = array(
@@ -181,6 +189,32 @@
 	wp_die( json_encode( $return ) );
 }
 
+function wp_ajax_autocomplete_site() {
+	if ( !is_multisite() || !current_user_can( 'promote_users' ) || wp_is_large_network( 'sites' ) || !is_super_admin() )
+		wp_die( -1 );
+
+	$return = array();
+
+	global $wpdb;
+	$sites = $wpdb->get_results( $wpdb->prepare( "SELECT blog_id, domain FROM $wpdb->blogs WHERE domain LIKE %s AND public = '1' AND archived = '0' AND mature = '0' AND spam = '0' AND deleted = '0' ORDER BY registered DESC", '%' . $_REQUEST['term'] . '%' ), ARRAY_A );
+
+	if ( !empty( $sites ) ) {
+
+		foreach ( (array) $sites as $details ) {
+			$blogname = $wpdb->get_var( $wpdb->prepare( "SELECT option_value FROM " . $wpdb->get_blog_prefix( $details['blog_id'] ) . "options WHERE option_name = 'blogname'" ) );
+			$return[] = array(
+				/* translators: 1: blogname */
+				'label' => sprintf( __( '%1$s' ), $blogname ),
+				'value' => $details['domain']
+			);
+		}
+	} else {
+		wp_die( -1 );
+	}
+
+	wp_die( json_encode( $return ) );
+}
+
 /*
  * Ajax helper.
  */
@@ -1675,4 +1709,4 @@
 
 	update_user_meta( get_current_user_id(), 'dismissed_wp_pointers', $dismissed );
 	wp_die( 1 );
-}
\ No newline at end of file
+}
Index: wp-admin/includes/dashboard.php
===================================================================
--- wp-admin/includes/dashboard.php	(revision 19932)
+++ wp-admin/includes/dashboard.php	(working copy)
@@ -438,7 +438,9 @@
 		$actions['create-site'] = '<a href="' . network_admin_url('site-new.php') . '">' . __( 'Create a New Site' ) . '</a>';
 	if ( current_user_can('create_users') )
 		$actions['create-user'] = '<a href="' . network_admin_url('user-new.php') . '">' . __( 'Create a New User' ) . '</a>';
-
+	if ( current_user_can( 'promote_users' ) && !wp_is_large_network( 'users' ) )
+		wp_enqueue_script( 'user-search' );
+		
 	$c_users = get_user_count();
 	$c_blogs = get_blog_count();
 
@@ -463,14 +465,14 @@
 
 	<form name="searchform" action="<?php echo network_admin_url('users.php'); ?>" method="get">
 		<p>
-			<input type="text" name="s" value="" size="17" />
+			<input type="text" name="s" value="" size="17" id="user-search-input" />
 			<?php submit_button( __( 'Search Users' ), 'button', 'submit', false, array( 'id' => 'submit_users' ) ); ?>
 		</p>
 	</form>
 
 	<form name="searchform" action="<?php echo network_admin_url('sites.php'); ?>" method="get">
 		<p>
-			<input type="text" name="s" value="" size="17" />
+			<input type="text" name="s" value="" size="17" id="site-search-input" />
 			<?php submit_button( __( 'Search Sites' ), 'button', 'submit', false, array( 'id' => 'submit_sites' ) ); ?>
 		</p>
 	</form>
Index: wp-admin/js/user-search.dev.js
===================================================================
--- wp-admin/js/user-search.dev.js	(revision 19932)
+++ wp-admin/js/user-search.dev.js	(working copy)
@@ -2,8 +2,20 @@
 	var id = typeof( current_site_id ) != 'undefined' ? '&site_id=' + current_site_id : '';
 
 	$( '#adduser-email, #newuser' ).autocomplete({
-		source:   ajaxurl + '?action=autocomplete-user' + id,
+		source:   ajaxurl + '?action=autocomplete-user&autocomplete_type=add' + id,
 		delay:    500,
 		minLength: 2
 	});
-});
\ No newline at end of file
+
+	$( '#user-search-input' ).autocomplete({
+		source:   ajaxurl + '?action=autocomplete-user&autocomplete_type=search' + id,
+		delay:    500,
+		minLength: 2
+	});
+
+	$( '#site-search-input' ).autocomplete({
+		source:   ajaxurl + '?action=autocomplete-site' + id,
+		delay:    500,
+		minLength: 2
+	});
+});
Index: wp-admin/index.php
===================================================================
--- wp-admin/index.php	(revision 19932)
+++ wp-admin/index.php	(working copy)
@@ -88,7 +88,7 @@
 	'<p>' . __( '<a href="http://codex.wordpress.org/Dashboard_Screen" target="_blank">Documentation on Dashboard</a>' ) . '</p>' .
 	'<p>' . __( '<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
 );
-
+	
 include (ABSPATH . 'wp-admin/admin-header.php');
 
 $today = current_time('mysql', 1);
Index: wp-admin/network/users.php
===================================================================
--- wp-admin/network/users.php	(revision 19932)
+++ wp-admin/network/users.php	(working copy)
@@ -247,6 +247,9 @@
 	'<p>' . __('<a href="http://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
 );
 
+if ( current_user_can( 'promote_users' ) && !wp_is_large_network( 'users' ) )
+	wp_enqueue_script( 'user-search' );
+
 require_once( '../admin-header.php' );
 
 if ( isset( $_REQUEST['updated'] ) && $_REQUEST['updated'] == 'true' && ! empty( $_REQUEST['action'] ) ) {
Index: wp-admin/network/site-users.php
===================================================================
--- wp-admin/network/site-users.php	(revision 19932)
+++ wp-admin/network/site-users.php	(working copy)
@@ -171,7 +171,7 @@
 $parent_file = 'sites.php';
 $submenu_file = 'sites.php';
 
-if ( current_user_can( 'promote_users' ) && apply_filters( 'show_network_site_users_add_existing_form', true ) && !wp_is_large_network( 'users' ) )
+if ( current_user_can( 'promote_users' ) && !wp_is_large_network( 'users' ) )
 	wp_enqueue_script( 'user-search' );
 
 require('../admin-header.php'); ?>
Index: wp-admin/network/sites.php
===================================================================
--- wp-admin/network/sites.php	(revision 19932)
+++ wp-admin/network/sites.php	(working copy)
@@ -284,6 +284,9 @@
 
 $wp_list_table->prepare_items();
 
+if ( current_user_can( 'manage_sites' ) && !wp_is_large_network( 'sites' ) )
+	wp_enqueue_script( 'user-search' );
+
 require_once( '../admin-header.php' );
 ?>
 
