Index: wp-admin/admin.php
===================================================================
--- wp-admin/admin.php	(revision 8124)
+++ wp-admin/admin.php	(working copy)
@@ -45,7 +45,8 @@
 
 // Handle plugin admin pages.
 if (isset($plugin_page)) {
-	$page_hook = get_plugin_page_hook($plugin_page, $pagenow);
+	if( ! $page_hook = get_plugin_page_hook($plugin_page, $pagenow) )
+		$page_hook = get_plugin_page_hook($plugin_page, $plugin_page);
 
 	if ( $page_hook ) {
 		do_action('load-' . $page_hook);
Index: wp-admin/includes/plugin.php
===================================================================
--- wp-admin/includes/plugin.php	(revision 8124)
+++ wp-admin/includes/plugin.php	(working copy)
@@ -271,7 +271,7 @@
 
 	$admin_page_hooks[$file] = sanitize_title( $menu_title );
 
-	$hookname = get_plugin_page_hookname( $file, '' );
+	$hookname = get_plugin_page_hookname( $file, $file );
 	if (!empty ( $function ) && !empty ( $hookname ))
 		add_action( $hookname, $function );
 
@@ -299,7 +299,7 @@
 	// as the first item in the submenu.  If the submenu file is the same as the
 	// parent file someone is trying to link back to the parent manually.  In
 	// this case, don't automatically add a link back to avoid duplication.
-	if (!isset( $submenu[$parent] ) && $file != $parent  ) {
+	if (!isset( $submenu[$parent] ) && $file != $parent ) {
 		foreach ( $menu as $parent_menu ) {
 			if ( $parent_menu[2] == $parent && current_user_can( $parent_menu[1] ) )
 				$submenu[$parent][] = $parent_menu;
