Index: wp-admin/includes/plugin.php
===================================================================
--- wp-admin/includes/plugin.php	(revision 41825)
+++ wp-admin/includes/plugin.php	(working copy)
@@ -1721,64 +1721,88 @@
 	global $pagenow, $menu, $submenu, $_wp_menu_nopriv, $_wp_submenu_nopriv,
 		$plugin_page, $_registered_pages;
 
-	$parent = get_admin_page_parent();
+	$parent       = get_admin_page_parent();
+	$pagenow_this = $pagenow;
 
-	if ( !isset( $plugin_page ) && isset( $_wp_submenu_nopriv[$parent][$pagenow] ) )
+	if ( isset( $_GET['post_type'] ) ) {
+		$pagenow_this .= '?post_type=' . $_GET['post_type'];
+	}
+
+	if ( ! isset( $plugin_page ) && isset( $_wp_submenu_nopriv[ $parent ][ $pagenow_this ] ) ) {
 		return false;
+	}
 
 	if ( isset( $plugin_page ) ) {
-		if ( isset( $_wp_submenu_nopriv[$parent][$plugin_page] ) )
+		if ( isset( $_wp_submenu_nopriv[ $parent ][ $plugin_page ] ) ) {
 			return false;
+		}
 
-		$hookname = get_plugin_page_hookname($plugin_page, $parent);
+		$hookname = get_plugin_page_hookname( $plugin_page, $parent );
 
-		if ( !isset($_registered_pages[$hookname]) )
+		if ( ! isset( $_registered_pages[ $hookname ] ) ) {
 			return false;
+		}
 	}
 
-	if ( empty( $parent) ) {
-		if ( isset( $_wp_menu_nopriv[$pagenow] ) )
+	if ( empty( $parent ) ) {
+		if ( isset( $_wp_menu_nopriv[ $pagenow_this ] ) ) {
 			return false;
-		if ( isset( $_wp_submenu_nopriv[$pagenow][$pagenow] ) )
+		}
+
+		if ( isset( $_wp_submenu_nopriv[ $pagenow_this ][ $pagenow_this ] ) ) {
 			return false;
-		if ( isset( $plugin_page ) && isset( $_wp_submenu_nopriv[$pagenow][$plugin_page] ) )
+		}
+
+		if ( isset( $plugin_page ) && isset( $_wp_submenu_nopriv[ $pagenow_this ][ $plugin_page ] ) ) {
 			return false;
-		if ( isset( $plugin_page ) && isset( $_wp_menu_nopriv[$plugin_page] ) )
+		}
+
+		if ( isset( $plugin_page ) && isset( $_wp_menu_nopriv[ $plugin_page ] ) ) {
 			return false;
-		foreach (array_keys( $_wp_submenu_nopriv ) as $key ) {
-			if ( isset( $_wp_submenu_nopriv[$key][$pagenow] ) )
+		}
+
+		foreach ( array_keys( $_wp_submenu_nopriv ) as $key ) {
+			if ( isset( $_wp_submenu_nopriv[ $key ][ $pagenow_this ] ) ) {
 				return false;
-			if ( isset( $plugin_page ) && isset( $_wp_submenu_nopriv[$key][$plugin_page] ) )
-			return false;
+			}
+
+			if ( isset( $plugin_page ) && isset( $_wp_submenu_nopriv[ $key ][ $plugin_page ] ) ) {
+				return false;
+			}
 		}
+
 		return true;
 	}
 
-	if ( isset( $plugin_page ) && ( $plugin_page == $parent ) && isset( $_wp_menu_nopriv[$plugin_page] ) )
+	if ( isset( $plugin_page ) && ( $plugin_page == $parent ) && isset( $_wp_menu_nopriv[ $plugin_page ] ) ) {
 		return false;
+	}
 
-	if ( isset( $submenu[$parent] ) ) {
-		foreach ( $submenu[$parent] as $submenu_array ) {
+	if ( isset( $submenu[ $parent ] ) ) {
+		foreach ( $submenu[ $parent ] as $submenu_array ) {
 			if ( isset( $plugin_page ) && ( $submenu_array[2] == $plugin_page ) ) {
-				if ( current_user_can( $submenu_array[1] ))
+				if ( current_user_can( $submenu_array[1] ) ) {
 					return true;
-				else
+				} else {
 					return false;
-			} elseif ( $submenu_array[2] == $pagenow ) {
-				if ( current_user_can( $submenu_array[1] ))
+				}
+			} elseif ( $submenu_array[2] == $pagenow_this ) {
+				if ( current_user_can( $submenu_array[1] ) ) {
 					return true;
-				else
+				} else {
 					return false;
+				}
 			}
 		}
 	}
 
 	foreach ( $menu as $menu_array ) {
-		if ( $menu_array[2] == $parent) {
-			if ( current_user_can( $menu_array[1] ))
+		if ( $menu_array[2] == $parent ) {
+			if ( current_user_can( $menu_array[1] ) ) {
 				return true;
-			else
+			} else {
 				return false;
+			}
 		}
 	}
 
