Index: wp-includes/post-template.php
===================================================================
--- wp-includes/post-template.php	(revision 23621)
+++ wp-includes/post-template.php	(working copy)
@@ -1309,7 +1309,7 @@
 	$date = date_i18n( $datef, strtotime( $revision->post_modified ) );
 	if ( $link && current_user_can( 'edit_post', $revision->ID ) && $link = get_edit_post_link( $revision->ID ) )
 		$date = "<a href='$link'>$date</a>";
-	
+
 	$revision_date_author = sprintf(
 		'%s %s, %s %s (%s)',
 		$gravatar,
Index: wp-includes/class-wp-editor.php
===================================================================
--- wp-includes/class-wp-editor.php	(revision 23621)
+++ wp-includes/class-wp-editor.php	(working copy)
@@ -395,9 +395,18 @@
 			}
 
 			$body_class = $editor_id;
+			$post = get_post();
 
-			if ( $post = get_post() )
-				$body_class .= ' post-type-' . $post->post_type;
+			if ( $post ) {
+				$body_class .= ' post-type-' . $post->post_type . ' post-status-' . $post->post_status;
+				if ( post_type_supports( $post->post_type, 'post-formats' ) ) {
+					$post_format = get_post_format( $post );
+					if ( $post_format && ! is_wp_error( $post_format ) )
+						$body_class .= ' post-format-' . sanitize_html_class( $post_format );
+					else
+						$body_class .= ' post-format-standard';
+				}
+			}
 
 			if ( !empty($set['tinymce']['body_class']) ) {
 				$body_class .= ' ' . $set['tinymce']['body_class'];
Index: wp-admin/js/post-formats.js
===================================================================
--- wp-admin/js/post-formats.js	(revision 23621)
+++ wp-admin/js/post-formats.js	(working copy)
@@ -12,6 +12,14 @@
 		$this.addClass('nav-tab-active').blur();
 		$('#post_format').val(format);
 		$('#post-body-content').attr('class', 'wp-format-' + format );
+
+		var ed = tinymce.get( 'content' ), edBody, format;
+		if ( ed && this.id ) {
+			edBody = ed.getBody();
+			format = 'post-format-' + this.id; // also need to handle 'post-format-0'
+			edBody.className = edBody.className.replace( /\bpost-format-[^ ]+/, '' );
+			ed.dom.addClass( edBody, format );
+		}
 	});
 
 	// Image selection
Index: wp-admin/edit-form-advanced.php
===================================================================
--- wp-admin/edit-form-advanced.php	(revision 23621)
+++ wp-admin/edit-form-advanced.php	(working copy)
@@ -343,7 +343,7 @@
 		else
 			$class = 'nav-tab';
 
-		echo '<a class="' . $class . '" href="?format=' . $slug . '" data-wp-format="' . $slug . '">' . $label . '</a>';
+		echo '<a id="' . $slug . '" class="' . $class . '" href="?format=' . $slug . '" data-wp-format="' . $slug . '">' . $label . '</a>';
 	}
 
 	echo '</h2>';
