Index: wp-admin/js/theme.dev.js
===================================================================
--- wp-admin/js/theme.dev.js	(revision 20702)
+++ wp-admin/js/theme.dev.js	(working copy)
@@ -34,7 +34,7 @@
 		event.preventDefault();
 	});
 
-	$('#availablethemes').on( 'click', '.installable-theme', function( event ) {
+	$('#availablethemes').on( 'click', '.customize-installable-theme', function( event ) {
 		var src;
 
 		info.html( $(this).find('.install-theme-info').html() );
Index: wp-admin/includes/class-wp-theme-install-list-table.php
===================================================================
--- wp-admin/includes/class-wp-theme-install-list-table.php	(revision 20702)
+++ wp-admin/includes/class-wp-theme-install-list-table.php	(working copy)
@@ -193,14 +193,41 @@
 		) );
 
 		?>
-		<a class="screenshot" href="<?php echo esc_url( $preview_url ); ?>" title="<?php echo esc_attr( $preview_title ); ?>">
+		<a class="screenshot customize-installable-theme" href="<?php echo esc_url( $preview_url ); ?>" title="<?php echo esc_attr( $preview_title ); ?>">
 			<img src='<?php echo esc_url( $theme->screenshot_url ); ?>' width='150' />
 		</a>
 
 		<h3><?php echo $name; ?></h3>
 		<div class="theme-author"><?php printf( __( 'By %s' ), $author ); ?></div>
+		<?php
+			$action_links = array();
 
+			if ( current_user_can( 'install_themes' ) || current_user_can( 'update_themes' ) ) {
+				$install_url = add_query_arg( array(
+					'action' => 'install-theme',
+					'theme'  => $theme->slug,
+				), self_admin_url( 'update.php' ) );
+				$action_links[] = '<a class="install-now" href="' . wp_nonce_url( $install_url, 'install-theme_' . $theme->slug ) . '" title="' . esc_attr( sprintf( __( 'Install %s' ), $name ) ) . '">' . __( 'Install Now' ) . '</a>';
+			}
+
+			$action_links[] = '<a class="preview-now customize-installable-theme" href="#" title="' . esc_attr( sprintf( __( 'Preview %s' ), $name ) ) . '">' . __( 'Preview' ) . '</a>';
+
+			$action_links = apply_filters( 'theme_install_action_links', $action_links, $plugin );
+		?>
+		<div class="action-links">
+			<ul>
+				<?php foreach ( $action_links as $action ): ?>
+					<li><?php echo $action; ?></li>
+				<?php endforeach; ?>
+				<li class="hide-if-no-js"><a href="#" class="theme-detail" tabindex='4'><?php _e('Details') ?></a></li>
+			</ul>
+			<?php echo $delete_action; ?>
+
+			<?php theme_update_available( $theme ); ?>
+		</div>
+
 		<?php
+		$this->theme_details( $theme );
 		$this->install_theme_info( $theme );
 	}
 
@@ -292,6 +319,20 @@
 		<?php
 	}
 
+	/*
+	 * Prints the details for a theme
+	 *
+	 * @param object $theme - A WordPress.org Theme API object.
+	 */
+	function theme_details( $theme ) {
+		?>
+		<div class="themedetaildiv hide-if-js">
+			<p><strong><?php _e('Version: '); ?></strong><?php echo esc_html( $theme->version ); ?></p>
+			<p><?php echo esc_html( $theme->description ); ?></p>
+		</div>
+		<?php
+	}
+
 	/**
 	 * Send required variables to JavaScript land
 	 *
