diff --git wp-admin/menu-header.php wp-admin/menu-header.php
index dfa1ccb..e5ceebc 100644
--- wp-admin/menu-header.php
+++ wp-admin/menu-header.php
@@ -48,9 +48,17 @@ function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) {
 		if ( !empty($submenu[$item[2]]) )
 			$class[] = 'wp-has-submenu';
 
-		if ( ( $parent_file && $item[2] == $parent_file ) || ( empty($typenow) && $self == $item[2] ) ) {
-			if ( !empty($submenu[$item[2]]) )
+		if ( isset( $submenu_file ) && ! empty( $submenu[$item[2]] ) ) {
+			foreach ( $submenu[$item[2]] as $sub_item ) {
+				if ( ! current_user_can( $sub_item[1] ) || $submenu_file != $sub_item[2] )
+					continue;
+
 				$class[] = 'wp-has-current-submenu wp-menu-open';
+				break;
+			}
+		} elseif ( ( $parent_file && $item[2] == $parent_file ) || ( empty($typenow) && $self == $item[2] ) ) {
+			if ( !empty($submenu[$item[2]]) )
+				$class[] = 'wp-has-current-submenu wp-menu-open';			
 			else
 				$class[] = 'current';
 		}
