Index: wp-includes/script-loader.php
===================================================================
--- wp-includes/script-loader.php	(revision 21695)
+++ wp-includes/script-loader.php	(working copy)
@@ -318,7 +318,6 @@
 	$scripts->add( 'media-views',  "/wp-includes/js/media-views$suffix.js",  array( 'media-models', 'wp-plupload' ), false, 1 );
 	did_action( 'init' ) && $scripts->localize( 'media-views', '_wpMediaViewsL10n', array(
 		'insertMedia'         => __( 'Insert Media' ),
-		'chooseFeatured'      => __( 'Choose a Featured Image' ),
 		'selectMediaSingular' => __( 'Select a media file:' ),
 		'selectMediaMultiple' => __( 'Select one or more media files:' ),
 	) );
Index: wp-admin/admin-ajax.php
===================================================================
--- wp-admin/admin-ajax.php	(revision 21695)
+++ wp-admin/admin-ajax.php	(working copy)
@@ -51,6 +51,7 @@
 	'sample-permalink', 'inline-save', 'inline-save-tax', 'find_posts', 'widgets-order',
 	'save-widget', 'set-post-thumbnail', 'date_format', 'time_format', 'wp-fullscreen-save-post',
 	'wp-remove-post-lock', 'dismiss-wp-pointer', 'upload-attachment', 'get-attachment', 'query-attachments',
+	'set-featured-image',
 );
 
 // Register core Ajax calls.
Index: wp-admin/includes/ajax-actions.php
===================================================================
--- wp-admin/includes/ajax-actions.php	(revision 21695)
+++ wp-admin/includes/ajax-actions.php	(working copy)
@@ -1844,3 +1844,28 @@
 
 	wp_send_json_success( $posts );
 }
+
+/**
+ * Set featured images.
+ *
+ * @since 3.5.0
+ */
+function wp_ajax_set_featured_image() {
+	$post_ID = intval( $_POST['post_id'] );
+	if ( !current_user_can( 'edit_post', $post_ID ) )
+		wp_send_json_error();
+	$thumbnail_id = intval( $_POST['thumbnail_id'] );
+
+	check_ajax_referer( "set_post_thumbnail-$post_ID", 'nonce' );
+
+	if ( $thumbnail_id == '-1' ) {
+		if ( delete_post_thumbnail( $post_ID ) )
+			wp_send_json_success();
+		else
+			wp_send_json_error();
+	}
+
+	if ( set_post_thumbnail( $post_ID, $thumbnail_id ) )
+		wp_send_json_success();
+	wp_send_json_error();
+}
\ No newline at end of file
Index: wp-admin/includes/meta-boxes.php
===================================================================
--- wp-admin/includes/meta-boxes.php	(revision 21695)
+++ wp-admin/includes/meta-boxes.php	(working copy)
@@ -915,3 +915,95 @@
 	$thumbnail_id = get_post_meta( $post->ID, '_thumbnail_id', true );
 	echo _wp_post_thumbnail_html( $thumbnail_id );
 }
+
+
+/**
+ * Display featured image meta box.
+ *
+ * @since 3.5.0
+ */
+function featured_image_meta_box() {
+	global $post, $_wp_additional_image_sizes;
+
+	?><script type="text/javascript">
+	jQuery( function($) {
+		var $element = $('#select-featured-image'),
+			nonce = $('#_nonce-select-featured-image').val(),
+			title = '<?php _e( "Choose a Featured Image" ); ?>',
+			setFeaturedImage, workflow;
+
+		setFeaturedImage = function( thumbnailId ) {
+			var image = $element.find('img').detach();
+
+			$element.toggleClass( 'has-featured-image', -1 != thumbnailId );
+
+			return wp.media.post( 'set-featured-image', {
+				post_id: $element.data('postId'),
+				nonce: nonce,
+				thumbnail_id: thumbnailId
+			}).fail( function() {
+				$element.find('img').remove();
+				$element.prepend( image );
+			});
+		};
+
+		$element.on( 'click', '.choose, img', function( event ) {
+			event.preventDefault();
+
+			if ( ! workflow ) {
+				workflow = wp.media();
+				workflow.selection.on( 'add', function( model ) {
+					var sizes = model.get('sizes'),
+						size;
+
+					setFeaturedImage( model.id );
+
+					// @todo: might need a size hierarchy equivalent.
+					if ( sizes )
+						size = sizes['post-thumbnail'] || sizes.medium;
+
+					// @todo: Need a better way of accessing full size
+					// data besides just calling toJSON().
+					size = size || model.toJSON();
+
+					workflow.modal.close();
+					workflow.selection.clear();
+
+					$( '<img />', {
+						src:    size.url,
+						width:  size.width
+					}).prependTo( $element );
+				});
+				workflow.modal.title( title );
+			}
+
+			workflow.modal.open();
+		});
+
+		$element.on( 'click', '.remove', function( event ) {
+			event.preventDefault();
+			setFeaturedImage( -1 );
+		});
+	});
+	</script>
+
+	<?php
+	$thumbnail_id   = get_post_meta( $post->ID, '_thumbnail_id', true );
+	$thumbnail_size = isset( $_wp_additional_image_sizes['post-thumbnail'] ) ? 'post-thumbnail' : 'medium';
+	$thumbnail_html = wp_get_attachment_image( $thumbnail_id, $thumbnail_size );
+
+	$classes = empty( $thumbnail_id ) ? '' : 'has-featured-image';
+
+	?><div id="select-featured-image"
+		class="<?php echo esc_attr( $classes ); ?>"
+		data-post-id="<?php echo esc_attr( $post->ID ); ?>"
+		data-thumbnail-id="<?php echo esc_attr( $thumbnail_id ); ?>">
+		<?php
+		echo $thumbnail_html;
+		wp_nonce_field( "set_post_thumbnail-{$post->ID}", '_nonce-select-featured-image' );
+		?>
+		<a href="#" class="choose button-secondary"><?php _e( 'Choose a Featured Image' ); ?></a>
+		<a href="#" class="remove"><?php _e( 'Remove Featured Image' ); ?></a>
+	</div>
+	<?php
+}
\ No newline at end of file
Index: wp-admin/edit-form-advanced.php
===================================================================
--- wp-admin/edit-form-advanced.php	(revision 21695)
+++ wp-admin/edit-form-advanced.php	(working copy)
@@ -129,7 +129,7 @@
 	add_meta_box('pageparentdiv', 'page' == $post_type ? __('Page Attributes') : __('Attributes'), 'page_attributes_meta_box', null, 'side', 'core');
 
 if ( current_theme_supports( 'post-thumbnails', $post_type ) && post_type_supports( $post_type, 'thumbnail' ) )
-		add_meta_box('postimagediv', __('Featured Image'), 'post_thumbnail_meta_box', null, 'side', 'low');
+		add_meta_box('featuredimagediv', __('Featured Image'), 'featured_image_meta_box', null, 'side', 'low');
 
 if ( post_type_supports($post_type, 'excerpt') )
 	add_meta_box('postexcerpt', __('Excerpt'), 'post_excerpt_meta_box', null, 'normal', 'core');
Index: wp-admin/css/wp-admin.css
===================================================================
--- wp-admin/css/wp-admin.css	(revision 21695)
+++ wp-admin/css/wp-admin.css	(working copy)
@@ -3239,7 +3239,35 @@
 	text-decoration: none;
 }
 
+/*------------------------------------------------------------------------------
+  11.3 - Featured Images
+------------------------------------------------------------------------------*/
 
+#select-featured-image {
+	padding: 4px 0;
+	overflow: hidden;
+}
+
+#select-featured-image img {
+	max-width: 100%;
+	height: auto;
+	margin-bottom: 10px;
+}
+
+#select-featured-image a {
+	float: left;
+	clear: both;
+}
+
+#select-featured-image .remove {
+	margin-top: 10px;
+	display: none;
+}
+
+#select-featured-image.has-featured-image .remove {
+	display: inline-block;
+}
+
 /*------------------------------------------------------------------------------
   12.0 - Categories
 ------------------------------------------------------------------------------*/
