diff --git wp-admin/edit-comments.php wp-admin/edit-comments.php
index 561349f..f9b550a 100644
--- wp-admin/edit-comments.php
+++ wp-admin/edit-comments.php
@@ -101,12 +101,6 @@ if ( $doaction ) {
 
 $wp_list_table->prepare_items();
 
-$total_pages = $wp_list_table->get_pagination_arg( 'total_pages' );
-if ( $pagenum > $total_pages && $total_pages > 0 ) {
-	wp_redirect( add_query_arg( 'paged', $total_pages ) );
-	exit;
-}
-
 wp_enqueue_script('admin-comments');
 enqueue_comment_hotkeys_js();
 
diff --git wp-admin/edit.php wp-admin/edit.php
index 2fb8679..458e5ee 100644
--- wp-admin/edit.php
+++ wp-admin/edit.php
@@ -142,12 +142,6 @@ if ( 'post' != $post_type ) {
 
 $wp_list_table->prepare_items();
 
-$total_pages = $wp_list_table->get_pagination_arg( 'total_pages' );
-if ( $pagenum > $total_pages && $total_pages > 0 ) {
-	wp_redirect( add_query_arg( 'paged', $total_pages ) );
-	exit;
-}
-
 wp_enqueue_script('inline-edit-post');
 
 $title = $post_type_object->labels->name;
diff --git wp-admin/includes/class-wp-list-table.php wp-admin/includes/class-wp-list-table.php
index fd4cf8d..3315c99 100644
--- wp-admin/includes/class-wp-list-table.php
+++ wp-admin/includes/class-wp-list-table.php
@@ -137,7 +137,13 @@ class WP_List_Table {
 
 		if ( !$args['total_pages'] && $args['per_page'] > 0 )
 			$args['total_pages'] = ceil( $args['total_items'] / $args['per_page'] );
-
+		
+		// redirect if page number is invalid and headers are not already sent
+		if ( ! headers_sent() && ( ! defined( 'DOING_AJAX' ) || ! DOING_AJAX ) && $args['total_pages'] > 0 && $this->get_pagenum() > $args['total_pages'] ) {
+			wp_redirect( add_query_arg( 'paged', $args['total_pages'] ) );
+			exit;
+		}
+		
 		$this->_pagination_args = $args;
 	}
 
diff --git wp-admin/network/sites.php wp-admin/network/sites.php
index ec4ce56..e6c0333 100644
--- wp-admin/network/sites.php
+++ wp-admin/network/sites.php
@@ -88,12 +88,6 @@ if ( isset( $_REQUEST['updated'] ) && $_REQUEST['updated'] == 'true' && ! empty(
 
 $wp_list_table->prepare_items();
 
-$total_pages = $wp_list_table->get_pagination_arg( 'total_pages' );
-if ( $pagenum > $total_pages && $total_pages > 0 ) {
-	wp_redirect( add_query_arg( 'paged', $total_pages ) );
-	exit;
-}
-
 require_once( '../admin-header.php' );
 ?>
 
diff --git wp-admin/network/themes.php wp-admin/network/themes.php
index ed23b41..3e042b5 100644
--- wp-admin/network/themes.php
+++ wp-admin/network/themes.php
@@ -171,12 +171,6 @@ if ( $action ) {
 
 $wp_list_table->prepare_items();
 
-$total_pages = $wp_list_table->get_pagination_arg( 'total_pages' );
-if ( $pagenum > $total_pages && $total_pages > 0 ) {
-	wp_redirect( add_query_arg( 'paged', $total_pages ) );
-	exit;
-}
-
 add_thickbox();
 
 add_screen_option( 'per_page', array('label' => _x( 'Themes', 'themes per page (screen options)' )) );
diff --git wp-admin/plugin-install.php wp-admin/plugin-install.php
index 2754025..2bed8ac 100644
--- wp-admin/plugin-install.php
+++ wp-admin/plugin-install.php
@@ -23,11 +23,6 @@ if ( is_multisite() && ! is_network_admin() ) {
 $wp_list_table = get_list_table('WP_Plugin_Install_List_Table');
 $pagenum = $wp_list_table->get_pagenum();
 $wp_list_table->prepare_items();
-$total_pages = $wp_list_table->get_pagination_arg( 'total_pages' );
-if ( $pagenum > $total_pages && $total_pages > 0 ) {
-	wp_redirect( add_query_arg( 'paged', $total_pages ) );
-	exit;
-}
 
 $title = __('Install Plugins');
 $parent_file = 'plugins.php';
diff --git wp-admin/plugins.php wp-admin/plugins.php
index 2f8b085..9baedc0 100644
--- wp-admin/plugins.php
+++ wp-admin/plugins.php
@@ -316,12 +316,6 @@ if ( $action ) {
 
 $wp_list_table->prepare_items();
 
-$total_pages = $wp_list_table->get_pagination_arg( 'total_pages' );
-if ( $pagenum > $total_pages && $total_pages > 0 ) {
-	wp_redirect( add_query_arg( 'paged', $total_pages ) );
-	exit;
-}
-
 wp_enqueue_script('plugin-install');
 add_thickbox();
 
diff --git wp-admin/theme-install.php wp-admin/theme-install.php
index be0a470..ca95eb8 100644
--- wp-admin/theme-install.php
+++ wp-admin/theme-install.php
@@ -23,11 +23,6 @@ if ( is_multisite() && ! is_network_admin() ) {
 $wp_list_table = get_list_table('WP_Theme_Install_List_Table');
 $pagenum = $wp_list_table->get_pagenum();
 $wp_list_table->prepare_items();
-$total_pages = $wp_list_table->get_pagination_arg( 'total_pages' );
-if ( $pagenum > $total_pages && $total_pages > 0 ) {
-	wp_redirect( add_query_arg( 'paged', $total_pages ) );
-	exit;
-}
 
 $title = __('Install Themes');
 $parent_file = 'themes.php';
diff --git wp-admin/upload.php wp-admin/upload.php
index ed1665b..ad47fa2 100644
--- wp-admin/upload.php
+++ wp-admin/upload.php
@@ -132,12 +132,6 @@ if ( $doaction ) {
 
 $wp_list_table->prepare_items();
 
-$total_pages = $wp_list_table->get_pagination_arg( 'total_pages' );
-if ( $pagenum > $total_pages && $total_pages > 0 ) {
-	wp_redirect( add_query_arg( 'paged', $total_pages ) );
-	exit;
-}
-
 $title = __('Media Library');
 $parent_file = 'upload.php';
 
