Index: wp-admin/includes/ajax-actions.php
===================================================================
--- wp-admin/includes/ajax-actions.php	(revision 24596)
+++ wp-admin/includes/ajax-actions.php	(working copy)
@@ -87,6 +87,36 @@
 	wp_die();
 }
 
+function wp_ajax_ajax_author_search() {
+	if ( isset( $_GET[ 'term' ] ) ) {
+		$sanitized_term = sanitize_key( $_GET[ 'term' ] );
+		
+		if ( strlen( $sanitized_term ) < 2 )
+			wp_die( 0 );
+		
+		$users = get_users(
+			array(
+				'order_by' => 'display_name',
+				'search' => '*' . $sanitized_term . '*',
+				'who' => 'authors'
+			)
+		);
+		
+		$json = array();
+		
+		foreach ( $users as $user ) {
+			$json[] = (object) array(
+				'label' => $user->data->display_name,
+				'value' => $user->data->ID
+			);
+		}
+		
+		wp_send_json( $json );
+	} else {
+		wp_die( 0 );
+	}
+}
+
 function wp_ajax_wp_compression_test() {
 	if ( !current_user_can( 'manage_options' ) )
 		wp_die( -1 );
Index: wp-admin/includes/class-wp-posts-list-table.php
===================================================================
--- wp-admin/includes/class-wp-posts-list-table.php	(revision 24596)
+++ wp-admin/includes/class-wp-posts-list-table.php	(working copy)
@@ -214,6 +214,10 @@
 				);
 				wp_dropdown_categories( $dropdown_options );
 			}
+			
+			if ( is_multi_author() )
+				$this->authors_dropdown();
+			
 			do_action( 'restrict_manage_posts' );
 			submit_button( __( 'Filter' ), 'button', false, false, array( 'id' => 'post-query-submit' ) );
 		}
@@ -225,6 +229,41 @@
 		</div>
 <?php
 	}
+	
+	function authors_dropdown() {
+		$author =
+			isset( $_GET[ 'author' ] )
+			? absint( $_GET[ 'author' ] )
+			: 0;
+		
+		$author_user = get_user_by( 'id', $author );
+		
+		$count_users = count_users();
+		
+		if ( $count_users[ 'total_users' ] >= apply_filters( 'authors_dropdown_max', 20 ) ) {
+?>
+			<input type="hidden" name="author" id="author-filter" value="<?php echo false !== $author_user ? esc_attr( $author ) : '0'; ?>" />
+			<input type="text" name="" id="author-filter-autocomplete" value="<?php echo false !== $author_user ? esc_attr( $author_user->data->display_name ) : ''; ?>" placeholder="<?php esc_attr( _e( 'Show all authors' ) ); ?>" size="20" class="hide-if-no-js" />
+<?php
+		} else {
+			$users = get_users(
+				array(
+					'orderby' => 'display_name',
+					'who' => 'authors'
+				)
+			);
+?>
+			<select name="author" id="author-filter">
+				<option value="0"><?php esc_html( _e( 'Show all authors' ) ); ?></option>
+				<?php foreach( $users as $user ) { ?>
+					<option value="<?php echo esc_attr( $user->data->ID ); ?>"<?php selected( $author, $user->data->ID ); ?>>
+						<?php echo esc_html( $user->data->display_name ); ?>
+					</option>
+				<?php } ?>
+			</select>
+<?php
+		}
+	}
 
 	function current_action() {
 		if ( isset( $_REQUEST['delete_all'] ) || isset( $_REQUEST['delete_all2'] ) )
Index: wp-admin/admin-ajax.php
===================================================================
--- wp-admin/admin-ajax.php	(revision 24596)
+++ wp-admin/admin-ajax.php	(working copy)
@@ -41,7 +41,7 @@
 do_action( 'admin_init' );
 
 $core_actions_get = array(
-	'fetch-list', 'ajax-tag-search', 'wp-compression-test', 'imgedit-preview', 'oembed-cache',
+	'fetch-list', 'ajax-tag-search', 'ajax-author-search', 'wp-compression-test', 'imgedit-preview', 'oembed-cache',
 	'autocomplete-user', 'dashboard-widgets', 'logged-in',
 );
 
Index: wp-admin/edit.php
===================================================================
--- wp-admin/edit.php	(revision 24596)
+++ wp-admin/edit.php	(working copy)
@@ -152,6 +152,7 @@
 $wp_list_table->prepare_items();
 
 wp_enqueue_script('inline-edit-post');
+wp_enqueue_script( 'post-filters' );
 
 $title = $post_type_object->labels->name;
 
Index: wp-includes/script-loader.php
===================================================================
--- wp-includes/script-loader.php	(revision 24596)
+++ wp-includes/script-loader.php	(working copy)
@@ -437,6 +437,8 @@
 		did_action( 'init' ) && $scripts->localize( 'inline-edit-tax', 'inlineEditL10n', array(
 			'error' => __('Error while saving the changes.')
 		) );
+		
+		$scripts->add( 'post-filters', "/wp-admin/js/post-filters$suffix.js", array( 'jquery', 'jquery-ui-autocomplete' ), false, 1 );
 
 		$scripts->add( 'plugin-install', "/wp-admin/js/plugin-install$suffix.js", array( 'jquery', 'thickbox' ), false, 1 );
 		did_action( 'init' ) && $scripts->localize( 'plugin-install', 'plugininstallL10n', array(
