Index: wp-admin/css/colors-classic.dev.css
===================================================================
--- wp-admin/css/colors-classic.dev.css	(revision 18883)
+++ wp-admin/css/colors-classic.dev.css	(working copy)
@@ -156,9 +156,9 @@
 	background-color: #ccc;
 }
 /* #upload-menu li a.upload-tab-link, */
-#plugin-information .action-button a,
-#plugin-information .action-button a:hover,
-#plugin-information .action-button a:visited {
+body.plugin-install-plugin-information .action-button a,
+body.plugin-install-plugin-information .action-button a:hover,
+body.plugin-install-plugin-information .action-button a:visited {
 	color: #fff;
 }
 
@@ -575,7 +575,7 @@
 	-webkit-box-shadow: rgba(255,255,255,0.5) 0 1px 0;
 	box-shadow: rgba(255,255,255,0.5) 0 1px 0;
 }
-#plugin-information .action-button {
+body.plugin-install-plugin-information .action-button {
 	background-color: #d54e21;
 	color: #fff;
 }
@@ -1638,20 +1638,20 @@
 	border-right: 1px solid #fff;
 }
 
-#plugin-information .fyi ul {
+body.plugin-install-plugin-information .fyi ul {
 	background-color: #eaf3fa;
 }
 
-#plugin-information .fyi h2.mainheader {
+body.plugin-install-plugin-information .fyi h2.mainheader {
 	background-color: #cee1ef;
 }
 
-#plugin-information pre,
-#plugin-information code {
+body.plugin-install-plugin-information pre,
+body.plugin-install-plugin-information code {
 	background-color: #ededff;
 }
 
-#plugin-information pre {
+body.plugin-install-plugin-information pre {
 	border: 1px solid #ccc;
 }
 
Index: wp-admin/css/colors-fresh.dev.css
===================================================================
--- wp-admin/css/colors-fresh.dev.css	(revision 18883)
+++ wp-admin/css/colors-fresh.dev.css	(working copy)
@@ -164,9 +164,9 @@
 	background-color: #ccc;
 }
 /* #upload-menu li a.upload-tab-link, */
-#plugin-information .action-button a,
-#plugin-information .action-button a:hover,
-#plugin-information .action-button a:visited {
+body.plugin-install-plugin-information .action-button a,
+body.plugin-install-plugin-information .action-button a:hover,
+body.plugin-install-plugin-information .action-button a:visited {
 	color: #fff;
 }
 
@@ -581,7 +581,7 @@
 	-webkit-box-shadow: rgba(255,255,255,0.5) 0 1px 0;
 	box-shadow: rgba(255,255,255,0.5) 0 1px 0;
 }
-#plugin-information .action-button {
+body.plugin-install-plugin-information .action-button {
 	background-color: #d54e21;
 	color: #fff;
 }
@@ -1308,20 +1308,20 @@
 	border-right: 1px solid #f9f9f9;
 }
 
-#plugin-information .fyi ul {
+body.plugin-install-plugin-information .fyi ul {
 	background-color: #eaf3fa;
 }
 
-#plugin-information .fyi h2.mainheader {
+body.plugin-install-plugin-information .fyi h2.mainheader {
 	background-color: #cee1ef;
 }
 
-#plugin-information pre,
-#plugin-information code {
+body.plugin-install-plugin-information pre,
+body.plugin-install-plugin-information code {
 	background-color: #ededff;
 }
 
-#plugin-information pre {
+body.plugin-install-plugin-information pre {
 	border: 1px solid #ccc;
 }
 
Index: wp-admin/css/wp-admin.dev.css
===================================================================
--- wp-admin/css/wp-admin.dev.css	(revision 18883)
+++ wp-admin/css/wp-admin.dev.css	(working copy)
@@ -6342,7 +6342,7 @@
 }
 
 /* Header on thickbox */
-#plugin-information-header {
+body.plugin-install-plugin-information #plugin-information-header {
 	margin: 0;
 	padding: 0 5px;
 	font-weight: bold;
@@ -6351,7 +6351,7 @@
 	border-bottom-style: solid;
 	height: 2.5em;
 }
-#plugin-information ul#sidemenu {
+body.plugin-install-plugin-information ul#sidemenu {
 	font-weight: normal;
 	margin: 0 5px;
 	position: absolute;
@@ -6360,10 +6360,9 @@
 }
 
 /* Install sidemenu */
-#plugin-information p.action-button {
+body.plugin-install-plugin-information p.action-button {
 	width: 100%;
 	padding-bottom: 0;
-	margin-bottom: 0;
 	margin-top: 10px;
 	-webkit-border-top-left-radius: 3px;
 	-webkit-border-bottom-left-radius: 3px;
@@ -6371,7 +6370,7 @@
 	border-bottom-left-radius: 3px;
 }
 
-#plugin-information .action-button a {
+body.plugin-install-plugin-information .action-button a {
 	text-align: center;
 	font-weight: bold;
 	text-decoration: none;
@@ -6379,29 +6378,29 @@
 	line-height: 2em;
 }
 
-#plugin-information h2 {
+body.plugin-install-plugin-information h2 {
 	clear: none !important;
 	margin-right: 200px;
 }
 
-#plugin-information .fyi {
+body.plugin-install-plugin-information .fyi {
 	margin: 0 10px 50px;
 	width: 210px;
 }
 
-#plugin-information .fyi h2 {
+body.plugin-install-plugin-information .fyi h2 {
 	font-size: 0.9em;
 	margin-bottom: 0;
 	margin-right: 0;
 }
 
-#plugin-information .fyi h2.mainheader {
+body.plugin-install-plugin-information .fyi h2.mainheader {
 	padding: 5px;
 	-webkit-border-top-left-radius: 3px;
 	border-top-left-radius: 3px;
 }
 
-#plugin-information .fyi ul {
+body.plugin-install-plugin-information .fyi ul {
 	padding: 10px 5px 10px 7px;
 	margin: 0;
 	list-style: none;
@@ -6409,37 +6408,37 @@
 	border-bottom-left-radius: 3px;
 }
 
-#plugin-information .fyi li {
+body.plugin-install-plugin-information .fyi li {
 	margin-right: 0;
 }
 
-#plugin-information #section-holder {
+body.plugin-install-plugin-information #section-holder {
 	padding: 10px;
 }
 
-#plugin-information .section ul,
-#plugin-information .section ol {
+body.plugin-install-plugin-information .section ul,
+body.plugin-install-plugin-information .section ol {
 	margin-left: 16px;
 	list-style-type: square;
 	list-style-image: none;
 }
 
-#plugin-information #section-screenshots li img {
+body.plugin-install-plugin-information #section-screenshots li img {
 	vertical-align: text-top;
 }
 
-#plugin-information #section-screenshots li p {
+body.plugin-install-plugin-information #section-screenshots li p {
 	font-style: italic;
 	padding-left: 20px;
 	padding-bottom: 2em;
 }
 
-#plugin-information .updated,
-#plugin-information pre {
+body.plugin-install-plugin-information .updated,
+body.plugin-install-plugin-information pre {
 	margin-right: 215px;
 }
 
-#plugin-information pre {
+body.plugin-install-plugin-information pre {
 	padding: 7px;
 	overflow: auto;
 }
Index: wp-admin/includes/class-wp-plugin-install-list-table.php
===================================================================
--- wp-admin/includes/class-wp-plugin-install-list-table.php	(revision 18883)
+++ wp-admin/includes/class-wp-plugin-install-list-table.php	(working copy)
@@ -26,6 +26,10 @@
 
 		// These are the tabs which are shown on the page
 		$tabs = array();
+
+		if ( 'plugin-information' == $tab && ( ! defined('IFRAME_REQUEST') || ! IFRAME_REQUEST ) )
+			$tabs['plugin-information'] = __('Plugin Information');
+
 		$tabs['dashboard'] = __( 'Search' );
 		if ( 'search' == $tab )
 			$tabs['search']	= __( 'Search Results' );
@@ -104,6 +108,8 @@
 		foreach ( (array) $tabs as $action => $text ) {
 			$class = ( $action == $tab ) ? ' class="current"' : '';
 			$href = self_admin_url('plugin-install.php?tab=' . $action);
+			if ( 'plugin-information' == $action )
+				$href = add_query_arg('plugin', $_REQUEST['plugin'], $href);
 			$display_tabs['plugin-install-'.$action] = "<a href='$href'$class>$text</a>";
 		}
 
Index: wp-admin/includes/plugin-install.php
===================================================================
--- wp-admin/includes/plugin-install.php	(revision 18883)
+++ wp-admin/includes/plugin-install.php	(working copy)
@@ -237,11 +237,9 @@
  *
  * @since 2.7.0
  */
-function install_plugin_information() {
+function install_plugin_information($api) {
 	global $tab;
 
-	$api = plugins_api('plugin_information', array('slug' => stripslashes( $_REQUEST['plugin'] ) ));
-
 	if ( is_wp_error($api) )
 		wp_die($api);
 
@@ -263,7 +261,6 @@
 	if ( empty($section) || ! isset($api->sections[ $section ]) )
 		$section = array_shift( $section_titles = array_keys((array)$api->sections) );
 
-	iframe_header( __('Plugin Install') );
 	echo "<div id='$tab-header'>\n";
 	echo "<ul id='sidemenu'>\n";
 	foreach ( (array)$api->sections as $section_name => $content ) {
@@ -365,7 +362,33 @@
 		}
 	echo "</div>\n";
 
+}
+
+function install_plugin_information_iframe() {
+	$api = plugins_api('plugin_information', array('slug' => stripslashes( $_REQUEST['plugin'] ) ));
+
+	iframe_header( __('Plugin Install') );
+	install_plugin_information($api);
 	iframe_footer();
 	exit;
 }
-add_action('install_plugins_pre_plugin-information', 'install_plugin_information');
+
+function install_plugin_information_direct() {
+	static $api = null; // First call on install_plugins_pre_plugin-information sets up the $api and sets the page title.
+	if ( $api ) // Second call on install_plugins_plugin-information is the content to display
+		return install_plugin_information($api);
+
+	$api = plugins_api('plugin_information', array('slug' => stripslashes( $_REQUEST['plugin'] ) ));
+
+	if ( $api && ! is_wp_error($api) ) {
+		/* translators: 1: Plugin Name 2: Plugin Version */
+		$GLOBALS['title'] = sprintf( __('Plugin Information: %1$s %2$s'), strip_tags($api->name), strip_tags($api->version) );
+	}
+}
+
+if ( isset($_GET['iframe']) ) {
+	add_action('install_plugins_pre_plugin-information', 'install_plugin_information_iframe');
+} else {
+	add_action('install_plugins_pre_plugin-information', 'install_plugin_information_direct');
+	add_action('install_plugins_plugin-information', 'install_plugin_information_direct');
+}
Index: wp-admin/includes/template.php
===================================================================
--- wp-admin/includes/template.php	(revision 18883)
+++ wp-admin/includes/template.php	(working copy)
@@ -1348,7 +1348,7 @@
  *
  */
 function iframe_header( $title = '', $limit_styles = false ) {
-	show_admin_bar( false );
+
 	global $hook_suffix, $current_screen, $current_user, $admin_body_class, $wp_locale;
 	$admin_body_class = preg_replace('/[^a-z0-9_-]+/i', '-', $hook_suffix);
 
Index: wp-admin/js/plugin-install.dev.js
===================================================================
--- wp-admin/js/plugin-install.dev.js	(revision 18883)
+++ wp-admin/js/plugin-install.dev.js	(working copy)
@@ -27,8 +27,10 @@
 
 	$(window).resize(function(){ tb_position(); });
 
-	 $('#dashboard_plugins a.thickbox, .plugins a.thickbox').click( function() {
+	 $('#dashboard_plugins a.thickbox, body.plugin-install-php a.thickbox').click( function() {
+		this.href = this.href.replace('?', '?iframe=1&');
 		tb_click.call(this);
+		this.href = this.href.replace('?iframe=1&', '?');
 
 		$('#TB_title').css({'background-color':'#222','color':'#cfcfcf'});
 		$('#TB_ajaxWindowTitle').html('<strong>' + plugininstallL10n.plugin_information + '</strong>&nbsp;' + $(this).attr('title') );
@@ -36,7 +38,7 @@
 	});
 
 	/* Plugin install related JS*/
-	$('#plugin-information #sidemenu a').click( function() {
+	$('#plugin-information-header #sidemenu a').click( function() {
 		var tab = $(this).attr('name');
 		//Flip the tab
 		$('#plugin-information-header a.current').removeClass('current');
Index: wp-admin/plugin-install.php
===================================================================
--- wp-admin/plugin-install.php	(revision 18883)
+++ wp-admin/plugin-install.php	(working copy)
@@ -6,7 +6,7 @@
  * @subpackage Administration
  */
 // TODO route this pages via a specific iframe handler instead of the do_action below
-if ( !defined( 'IFRAME_REQUEST' ) && isset( $_GET['tab'] ) && ( 'plugin-information' == $_GET['tab'] ) )
+if ( !defined( 'IFRAME_REQUEST' ) && isset( $_GET['tab'] ) && isset( $_GET['iframe'] ) && ( 'plugin-information' == $_GET['tab'] ) )
 	define( 'IFRAME_REQUEST', true );
 
 /** WordPress Administration Bootstrap */
@@ -31,7 +31,11 @@
 if ( 'plugin-information' != $tab )
 	add_thickbox();
 
-$body_id = $tab;
+function plugin_install_body_class($classes) {
+	global $tab;
+	return "$classes plugin-install-$tab";
+}
+add_filter('admin_body_class', 'plugin_install_body_class');
 
 do_action('install_plugins_pre_' . $tab); //Used to override the general interface, Eg, install or plugin information.
 
