Index: wp-admin/edit-comments.php
===================================================================
--- wp-admin/edit-comments.php	(revision 17348)
+++ wp-admin/edit-comments.php	(working copy)
@@ -222,20 +222,8 @@
 
 <?php $wp_list_table->search_box( __( 'Search Comments' ), 'comment' ); ?>
 
-<?php if ( $post_id ) : ?>
-<input type="hidden" name="p" value="<?php echo esc_attr( intval( $post_id ) ); ?>" />
-<?php endif; ?>
-<input type="hidden" name="comment_status" value="<?php echo esc_attr($comment_status); ?>" />
-<input type="hidden" name="pagegen_timestamp" value="<?php echo esc_attr(current_time('mysql', 1)); ?>" />
+<?php $wp_list_table->hidden_fields(); ?>
 
-<input type="hidden" name="_total" value="<?php echo esc_attr( $wp_list_table->get_pagination_arg('total_items') ); ?>" />
-<input type="hidden" name="_per_page" value="<?php echo esc_attr( $wp_list_table->get_pagination_arg('per_page') ); ?>" />
-<input type="hidden" name="_page" value="<?php echo esc_attr( $wp_list_table->get_pagination_arg('page') ); ?>" />
-
-<?php if ( isset($_REQUEST['paged']) ) { ?>
-	<input type="hidden" name="paged" value="<?php echo esc_attr( absint( $_REQUEST['paged'] ) ); ?>" />
-<?php } ?>
-
 <?php $wp_list_table->display(); ?>
 </form>
 </div>
Index: wp-admin/edit-tags.php
===================================================================
--- wp-admin/edit-tags.php	(revision 17348)
+++ wp-admin/edit-tags.php	(working copy)
@@ -238,11 +238,11 @@
 <div id="ajax-response"></div>
 
 <form class="search-form" action="" method="get">
-<input type="hidden" name="taxonomy" value="<?php echo esc_attr($taxonomy); ?>" />
-<input type="hidden" name="post_type" value="<?php echo esc_attr($post_type); ?>" />
 
 <?php $wp_list_table->search_box( $tax->labels->search_items, 'tag' ); ?>
 
+<?php $wp_list_table->hidden_fields(); ?>
+
 </form>
 <br class="clear" />
 
Index: wp-admin/edit.php
===================================================================
--- wp-admin/edit.php	(revision 17348)
+++ wp-admin/edit.php	(working copy)
@@ -244,8 +244,7 @@
 
 <?php $wp_list_table->search_box( $post_type_object->labels->search_items, 'post' ); ?>
 
-<input type="hidden" name="post_status" class="post_status_page" value="<?php echo !empty($_REQUEST['post_status']) ? esc_attr($_REQUEST['post_status']) : 'all'; ?>" />
-<input type="hidden" name="post_type" class="post_type_page" value="<?php echo $post_type; ?>" />
+<?php $wp_list_table->hidden_fields(); ?>
 
 <?php $wp_list_table->display(); ?>
 
Index: wp-admin/includes/class-wp-comments-list-table.php
===================================================================
--- wp-admin/includes/class-wp-comments-list-table.php	(revision 17348)
+++ wp-admin/includes/class-wp-comments-list-table.php	(working copy)
@@ -265,6 +265,26 @@
 		);
 	}
 
+	function hidden_fields() {
+		global $post_id, $comment_status;
+?>
+<?php if ( $post_id ) : ?>
+<input type="hidden" name="p" value="<?php echo esc_attr( intval( $post_id ) ); ?>" />
+<?php endif; ?>
+<input type="hidden" name="comment_status" value="<?php echo esc_attr($comment_status); ?>" />
+<input type="hidden" name="pagegen_timestamp" value="<?php echo esc_attr(current_time('mysql', 1)); ?>" />
+
+<input type="hidden" name="_total" value="<?php echo esc_attr( $this->get_pagination_arg('total_items') ); ?>" />
+<input type="hidden" name="_per_page" value="<?php echo esc_attr( $this->get_pagination_arg('per_page') ); ?>" />
+<input type="hidden" name="_page" value="<?php echo esc_attr( $this->get_pagination_arg('page') ); ?>" />
+
+<?php if ( isset($_REQUEST['paged']) ) : ?>
+	<input type="hidden" name="paged" value="<?php echo esc_attr( absint( $_REQUEST['paged'] ) ); ?>" />
+<?php endif; ?>
+<?php
+		parent::hidden_fields();
+	}
+
 	function display() {
 		extract( $this->_args );
 
Index: wp-admin/includes/class-wp-list-table.php
===================================================================
--- wp-admin/includes/class-wp-list-table.php	(revision 17348)
+++ wp-admin/includes/class-wp-list-table.php	(working copy)
@@ -686,6 +686,23 @@
 	}
 
 	/**
+	 * Add hidden fields to keep sorting after searching
+	 *
+	 * @since 3.1.0
+	 * @access public
+	 */
+	function hidden_fields() {
+?>
+<?php if ( ! empty($_REQUEST['orderby']) ) : ?>
+<input type="hidden" name="orderby" value="<?php echo esc_attr($_REQUEST['orderby']); ?>" />
+<?php endif; ?>
+<?php if ( ! empty($_REQUEST['order']) ) : ?>
+<input type="hidden" name="order" value="<?php echo esc_attr($_REQUEST['order']); ?>" />
+<?php endif; ?>
+<?php
+	}
+
+	/**
 	 * Display the table
 	 *
 	 * @since 3.1.0
Index: wp-admin/includes/class-wp-ms-sites-list-table.php
===================================================================
--- wp-admin/includes/class-wp-ms-sites-list-table.php	(revision 17348)
+++ wp-admin/includes/class-wp-ms-sites-list-table.php	(working copy)
@@ -165,6 +165,13 @@
 		);
 	}
 
+	function hidden_fields() {
+?>
+<input type="hidden" name="action" value="blogs" />
+<?php
+		parent::hidden_fields();
+	}
+
 	function display_rows() {
 		global $current_site, $mode;
 
Index: wp-admin/includes/class-wp-ms-themes-list-table.php
===================================================================
--- wp-admin/includes/class-wp-ms-themes-list-table.php	(revision 17348)
+++ wp-admin/includes/class-wp-ms-themes-list-table.php	(working copy)
@@ -254,6 +254,16 @@
 		return parent::current_action();
 	}
 
+	function hidden_fields() {
+		global $id;
+		if ( ! empty($id) ) :
+?>
+<input type="hidden" name="id" value="<?php echo esc_attr( $id ) ?>" />
+<?php
+		endif;
+		parent::hidden_fields();
+	}
+
 	function display_rows() {
 		foreach ( $this->items as $key => $theme )
 			$this->single_row( $key, $theme );
Index: wp-admin/includes/class-wp-plugins-list-table.php
===================================================================
--- wp-admin/includes/class-wp-plugins-list-table.php	(revision 17348)
+++ wp-admin/includes/class-wp-plugins-list-table.php	(working copy)
@@ -296,6 +296,15 @@
 		return parent::current_action();
 	}
 
+	function hidden_fields() {
+		global $status, $page;
+?>
+<input type="hidden" name="plugin_status" value="<?php echo esc_attr($status) ?>" />
+<input type="hidden" name="paged" value="<?php echo esc_attr($page) ?>" />
+<?php
+		parent::hidden_fields();
+	}
+
 	function display_rows() {
 		global $status;
 
Index: wp-admin/includes/class-wp-posts-list-table.php
===================================================================
--- wp-admin/includes/class-wp-posts-list-table.php	(revision 17348)
+++ wp-admin/includes/class-wp-posts-list-table.php	(working copy)
@@ -304,6 +304,15 @@
 		);
 	}
 
+	function hidden_fields() {
+		global $post_type;
+?>
+<input type="hidden" name="post_status" value="<?php echo !empty($_REQUEST['post_status']) ? esc_attr($_REQUEST['post_status']) : 'all'; ?>" />
+<input type="hidden" name="post_type" value="<?php echo $post_type; ?>" />
+<?php
+		parent::hidden_fields();
+	}
+
 	function display_rows( $posts = array() ) {
 		global $wp_query, $post_type_object, $per_page;
 
Index: wp-admin/includes/class-wp-terms-list-table.php
===================================================================
--- wp-admin/includes/class-wp-terms-list-table.php	(revision 17348)
+++ wp-admin/includes/class-wp-terms-list-table.php	(working copy)
@@ -123,6 +123,15 @@
 		);
 	}
 
+	function hidden_fields() {
+		global $taxonomy, $post_type;
+?>
+<input type="hidden" name="taxonomy" value="<?php echo esc_attr($taxonomy); ?>" />
+<input type="hidden" name="post_type" value="<?php echo esc_attr($post_type); ?>" />
+<?php
+		parent::hidden_fields();
+	}
+
 	function display_rows_or_placeholder() {
 		global $taxonomy;
 
Index: wp-admin/includes/class-wp-users-list-table.php
===================================================================
--- wp-admin/includes/class-wp-users-list-table.php	(revision 17348)
+++ wp-admin/includes/class-wp-users-list-table.php	(working copy)
@@ -180,6 +180,16 @@
 		return $c;
 	}
 
+	function hidden_fields() {
+		global $id;
+		if ( ! empty($id) ) :
+?>
+<input type="hidden" name="id" value="<?php echo esc_attr( $id ) ?>" />
+<?php
+		endif;
+		parent::hidden_fields();
+	}
+
 	function display_rows() {
 		// Query the post counts for this page
 		if ( ! $this->is_site_users )
Index: wp-admin/link-manager.php
===================================================================
--- wp-admin/link-manager.php	(revision 17348)
+++ wp-admin/link-manager.php	(working copy)
@@ -78,6 +78,8 @@
 
 <?php $wp_list_table->search_box( __( 'Search Links' ), 'link' ); ?>
 
+<?php $wp_list_table->hidden_fields(); ?>
+
 <?php $wp_list_table->display(); ?>
 
 <div id="ajax-response"></div>
Index: wp-admin/network/site-themes.php
===================================================================
--- wp-admin/network/site-themes.php	(revision 17348)
+++ wp-admin/network/site-themes.php	(working copy)
@@ -162,7 +162,7 @@
 
 <form method="get" action="">
 <?php $wp_list_table->search_box( __( 'Search Installed Themes' ), 'theme' ); ?>
-<input type="hidden" name="id" value="<?php echo esc_attr( $id ) ?>" />
+<?php $wp_list_table->hidden_fields(); ?>
 </form>
 
 <?php $wp_list_table->views(); ?>
Index: wp-admin/network/site-users.php
===================================================================
--- wp-admin/network/site-users.php	(revision 17348)
+++ wp-admin/network/site-users.php	(working copy)
@@ -218,7 +218,7 @@
 
 <form class="search-form" action="" method="get">
 <?php $wp_list_table->search_box( __( 'Search Users' ), 'user' ); ?>
-<input type="hidden" name="id" value="<?php echo esc_attr( $id ) ?>" />
+<?php $wp_list_table->hidden_fields(); ?>
 </form>
 
 <?php $wp_list_table->views(); ?>
Index: wp-admin/network/sites.php
===================================================================
--- wp-admin/network/sites.php	(revision 17348)
+++ wp-admin/network/sites.php	(working copy)
@@ -112,7 +112,7 @@
 
 <form action="" method="get" id="ms-search">
 <?php $wp_list_table->search_box( __( 'Search Sites' ), 'site' ); ?>
-<input type="hidden" name="action" value="blogs" />
+<?php $wp_list_table->hidden_fields(); ?>
 </form>
 
 <form id="form-site-list" action="edit.php?action=allblogs" method="post">
Index: wp-admin/network/themes.php
===================================================================
--- wp-admin/network/themes.php	(revision 17348)
+++ wp-admin/network/themes.php	(working copy)
@@ -224,6 +224,7 @@
 
 <form method="get" action="">
 <?php $wp_list_table->search_box( __( 'Search Installed Themes' ), 'theme' ); ?>
+<?php $wp_list_table->hidden_fields(); ?>
 </form>
 
 <?php $wp_list_table->views(); ?>
Index: wp-admin/network/users.php
===================================================================
--- wp-admin/network/users.php	(revision 17348)
+++ wp-admin/network/users.php	(working copy)
@@ -80,6 +80,7 @@
 
 	<form action="" method="get" class="search-form">
 		<?php $wp_list_table->search_box( __( 'Search Users' ), 'user' ); ?>
+		<?php $wp_list_table->hidden_fields(); ?>
 	</form>
 
 	<form id="form-user-list" action='edit.php?action=allusers' method='post'>
Index: wp-admin/plugins.php
===================================================================
--- wp-admin/plugins.php	(revision 17348)
+++ wp-admin/plugins.php	(working copy)
@@ -404,8 +404,7 @@
 
 <?php $wp_list_table->search_box( __( 'Search Plugins' ), 'plugin' ); ?>
 
-<input type="hidden" name="plugin_status" value="<?php echo esc_attr($status) ?>" />
-<input type="hidden" name="paged" value="<?php echo esc_attr($page) ?>" />
+<?php $wp_list_table->hidden_fields(); ?>
 
 <?php
 if ( 'mustuse' == $status )
Index: wp-admin/upload.php
===================================================================
--- wp-admin/upload.php	(revision 17348)
+++ wp-admin/upload.php	(working copy)
@@ -215,6 +215,8 @@
 
 <?php $wp_list_table->search_box( __( 'Search Media' ), 'media' ); ?>
 
+<?php $wp_list_table->hidden_fields(); ?>
+
 <?php $wp_list_table->display(); ?>
 
 <div id="ajax-response"></div>
Index: wp-admin/users.php
===================================================================
--- wp-admin/users.php	(revision 17348)
+++ wp-admin/users.php	(working copy)
@@ -362,6 +362,8 @@
 
 <?php $wp_list_table->search_box( __( 'Search Users' ), 'user' ); ?>
 
+<?php $wp_list_table->hidden_fields(); ?>
+
 <?php $wp_list_table->display(); ?>
 </form>
 
