Index: wp-admin/menu-header.php
===================================================================
--- wp-admin/menu-header.php	(revision 25764)
+++ wp-admin/menu-header.php	(working copy)
@@ -111,6 +111,10 @@
 
 			$first = true;
 			foreach ( $submenu_items as $sub_key => $sub_item ) {
+				//check if is hidden
+				if (isset($sub_item[99]) && 'hide' === $sub_item[99] && $first)
+					continue;
+
 				if ( ! current_user_can( $sub_item[1] ) )
 					continue;
 
Index: wp-admin/includes/plugin.php
===================================================================
--- wp-admin/includes/plugin.php	(revision 25764)
+++ wp-admin/includes/plugin.php	(working copy)
@@ -1387,11 +1387,19 @@
 	if ( !isset( $submenu[$menu_slug] ) )
 		return false;
 
+	$first = true;
 	foreach ( $submenu[$menu_slug] as $i => $item ) {
 		if ( $submenu_slug == $item[2] ) {
+			//check if to be removed submenu page is first item
+			if ($first) {
+				//add hide flag
+				$submenu[$menu_slug][$i][99] = 'hide';
+				return item;
+			}
 			unset( $submenu[$menu_slug][$i] );
 			return $item;
 		}
+		$first = false;
 	}
 
 	return false;
