Index: wp-admin/admin-ajax.php
===================================================================
--- wp-admin/admin-ajax.php	(revision 19107)
+++ wp-admin/admin-ajax.php	(working copy)
@@ -55,14 +55,8 @@
 	$list_class = $_GET['list_args']['class'];
 	check_ajax_referer( "fetch-list-$list_class", '_ajax_fetch_list_nonce' );
 
-	$current_screen = (object) $_GET['list_args']['screen'];
-	//TODO fix this in a better way see #15336
-	$current_screen->is_network = 'false' === $current_screen->is_network ? false : true;
-	$current_screen->is_user = 'false' === $current_screen->is_user ? false : true;
+	$current_screen = convert_to_screen( $_GET['list_args']['screen']['id'] );
 
-	define( 'WP_NETWORK_ADMIN', $current_screen->is_network );
-	define( 'WP_USER_ADMIN', $current_screen->is_user );
-
 	$wp_list_table = _get_list_table( $list_class );
 	if ( ! $wp_list_table )
 		die( '0' );
Index: wp-admin/includes/screen.php
===================================================================
--- wp-admin/includes/screen.php	(revision 19108)
+++ wp-admin/includes/screen.php	(working copy)
@@ -412,10 +412,15 @@
 		$id = str_replace( array( '-new', '-add' ), '', $id );
 
 		if ( $hook_name ) {
-			if ( '-network' == substr( $id, -8 ) )
+			if ( '-network' == substr( $id, -8 ) ) {
 				$id = str_replace( '-network', '', $id );
-			elseif ( '-user' == substr( $id, -5 ) )
+				$is_network = true;
+			} elseif ( '-user' == substr( $id, -5 ) ) {
 				$id = str_replace( '-user', '', $id );
+				$is_user = true;
+			} else {
+				$is_network = $is_user = false;
+			}
 
 			$id = sanitize_key( $id );
 			if ( post_type_exists( $id ) ) {
@@ -431,6 +436,9 @@
 					$post_type = $second;
 				}
  			}
+		} else {
+			$is_network = is_network_admin();
+			$is_user = is_user_admin();
 		}
 
 		if ( 'index' == $id )
@@ -485,10 +493,10 @@
 				break;
 		}
 
-		if ( is_network_admin() ) {
+		if ( $is_network ) {
 			$id   .= '-network';
 			$base .= '-network';
-		} elseif ( is_user_admin() ) {
+		} elseif ( $is_user ) {
 			$id   .= '-user';
 			$base .= '-user';
  		}
@@ -506,8 +514,8 @@
 		$screen->action     = $action;
 		$screen->post_type  = $post_type;
 		$screen->taxonomy   = $taxonomy;
-		$screen->is_user    = is_user_admin();
-		$screen->is_network = is_network_admin();
+		$screen->is_user    = $is_user;
+		$screen->is_network = $is_network;
 
 		self::$_registry[ $id ] = $screen;
 
