Index: src/wp-admin/includes/class-wp-posts-list-table.php
===================================================================
--- src/wp-admin/includes/class-wp-posts-list-table.php	(revision 35502)
+++ src/wp-admin/includes/class-wp-posts-list-table.php	(working copy)
@@ -78,7 +78,7 @@
 	 * @param array $args An associative array of arguments.
 	 */
 	public function __construct( $args = array() ) {
-		global $post_type_object, $wpdb;
+		global $post_type_object, $wpdb, $mode;
 
 		parent::__construct( array(
 			'plural' => 'posts',
@@ -88,6 +88,13 @@
 		$post_type        = $this->screen->post_type;
 		$post_type_object = get_post_type_object( $post_type );
 
+		if ( ! empty( $_REQUEST['mode'] ) ) {
+			$mode = $_REQUEST['mode'] === 'excerpt' ? 'excerpt' : 'list';
+			set_user_setting ( 'posts_list_mode', $mode );
+		} else {
+			$mode = get_user_setting ( 'posts_list_mode', 'list' );
+		}
+
 		$exclude_states   = get_post_stati( array(
 			'show_in_admin_all_list' => false,
 		) );
@@ -157,10 +164,9 @@
 	 * @global array    $avail_post_stati
 	 * @global WP_Query $wp_query
 	 * @global int      $per_page
-	 * @global string   $mode
 	 */
 	public function prepare_items() {
-		global $avail_post_stati, $wp_query, $per_page, $mode;
+		global $avail_post_stati, $wp_query, $per_page;
 
 		// is going to call wp()
 		$avail_post_stati = wp_edit_posts_query();
@@ -196,13 +202,6 @@
 
 		$total_pages = ceil( $total_items / $per_page );
 
-		if ( ! empty( $_REQUEST['mode'] ) ) {
-			$mode = $_REQUEST['mode'] === 'excerpt' ? 'excerpt' : 'list';
-			set_user_setting ( 'posts_list_mode', $mode );
-		} else {
-			$mode = get_user_setting ( 'posts_list_mode', 'list' );
-		}
-
 		$this->is_trash = isset( $_REQUEST['post_status'] ) && $_REQUEST['post_status'] === 'trash';
 
 		$this->set_pagination_args( array(
@@ -490,7 +489,7 @@
 		 * list table.
 		 *
 		 * @since 4.4.0
-		 * 
+		 *
 		 * @param string $which The location of the extra table nav markup: 'top' or 'bottom'.
 		 */
 		do_action( 'manage_posts_extra_tablenav', $which );
@@ -647,13 +646,10 @@
 	}
 
 	/**
-	 * @global string $mode
 	 * @param array $posts
 	 * @param int $level
 	 */
 	private function _display_rows( $posts, $level = 0 ) {
-		global $mode;
-
 		// Create array of post IDs.
 		$post_ids = array();
 
