diff --git src/wp-admin/css/common.css src/wp-admin/css/common.css
index ddfaad3..2be5a13 100644
--- src/wp-admin/css/common.css
+++ src/wp-admin/css/common.css
@@ -1087,6 +1087,20 @@ th.action-links {
 	color: #fff;
 }
 
+.wp-filter .favorites-form {
+	display: none;
+	margin: 0 -20px;
+	padding: 20px;
+	border-top: 1px solid #eee;
+	background: #fafafa;
+	overflow: hidden;
+	width: 100%;
+}
+
+.show-favorites-form .wp-filter .favorites-form {
+	display: block;
+}
+
 .filter-drawer {
 	display: none;
 	margin: 0 -20px;
diff --git src/wp-admin/includes/ajax-actions.php src/wp-admin/includes/ajax-actions.php
index 0170cd9..c35b775 100644
--- src/wp-admin/includes/ajax-actions.php
+++ src/wp-admin/includes/ajax-actions.php
@@ -2815,6 +2815,13 @@ function wp_ajax_query_themes() {
 		'fields'   => $theme_field_defaults
 	) );
 
+	if ( 'favorites' === $args['browse'] ) {
+		$user = get_user_option( 'wporg_favorites' );
+		if ( $user ) {
+			$args['user'] = $user;
+		}
+	}
+
 	$old_filter = isset( $args['browse'] ) ? $args['browse'] : 'search';
 
 	/** This filter is documented in wp-admin/includes/class-wp-theme-install-list-table.php */
diff --git src/wp-admin/js/theme.js src/wp-admin/js/theme.js
index 0961922..28f3f4c 100644
--- src/wp-admin/js/theme.js
+++ src/wp-admin/js/theme.js
@@ -1448,6 +1448,10 @@ themes.view.Installer = themes.view.Appearance.extend({
 		$( '.filter-links li > a, .theme-filter' ).removeClass( this.activeClass );
 		$( '[data-sort="' + sort + '"]' ).addClass( this.activeClass );
 
+		if ( 'favorites' === sort ) {
+			$ ( 'body' ).addClass( 'show-favorites-form' );
+		}
+
 		this.browse( sort );
 	},
 
@@ -1681,7 +1685,7 @@ themes.RunInstaller = {
 			if ( ! sort ) {
 				sort = 'featured';
 			}
-			self.view.sort( sort );
+			self.view.sort( sort.split('&')[0] );
 			self.view.trigger( 'theme:close' );
 		});
 
diff --git src/wp-admin/theme-install.php src/wp-admin/theme-install.php
index 6213a5a..e9d6254 100644
--- src/wp-admin/theme-install.php
+++ src/wp-admin/theme-install.php
@@ -139,12 +139,30 @@ include(ABSPATH . 'wp-admin/admin-header.php');
 			<li><a href="#" data-sort="featured"><?php _ex( 'Featured', 'themes' ); ?></a></li>
 			<li><a href="#" data-sort="popular"><?php _ex( 'Popular', 'themes' ); ?></a></li>
 			<li><a href="#" data-sort="new"><?php _ex( 'Latest', 'themes' ); ?></a></li>
+			<li><a href="#" data-sort="favorites"><?php _ex( 'Favorites', 'themes' ); ?></a></li>
 		</ul>
 
 		<a class="drawer-toggle" href="#"><?php _e( 'Feature Filter' ); ?></a>
 
 		<div class="search-form"></div>
 
+		<div class="favorites-form">
+			<?php
+			$user = isset( $_GET['user'] ) ? wp_unslash( $_GET['user'] ) : get_user_option( 'wporg_favorites' );
+			update_user_meta( get_current_user_id(), 'wporg_favorites', $user );
+			?>
+			<p class="install-help"><?php _e( 'If you have marked themes as favorites on WordPress.org, you can browse them here.' ); ?></p>
+
+			<form method="get">
+				<p>
+					<label for="user"><?php _e( 'Your WordPress.org username:' ); ?></label>
+					<input type="hidden" name="browse" value="favorites" />
+					<input type="search" id="user" name="user" value="<?php echo esc_attr( $user ); ?>" />
+					<input type="submit" class="button button-secondary favorites-form-submit" value="<?php esc_attr_e( 'Get Favorites' ); ?>" />
+				</p>
+			</form>
+		</div>
+
 		<div class="filter-drawer">
 			<div class="buttons">
 				<a class="apply-filters button button-secondary" href="#"><?php _e( 'Apply Filters' ); ?><span></span></a>
