diff --git wp-includes/class-wp-editor.php wp-includes/class-wp-editor.php
index 38ab7c2..4622db8 100644
--- wp-includes/class-wp-editor.php
+++ wp-includes/class-wp-editor.php
@@ -395,9 +395,18 @@ final class _WP_Editors {
 			}
 
 			$body_class = $editor_id;
-
-			if ( $post = get_post() )
-				$body_class .= ' post-type-' . $post->post_type;
+			$post = get_post();
+
+			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'];
diff --git wp-includes/post-template.php wp-includes/post-template.php
index 21620b4..c1b0535 100644
--- wp-includes/post-template.php
+++ wp-includes/post-template.php
@@ -437,7 +437,7 @@ function get_body_class( $class = '' ) {
 			if ( post_type_supports( $post->post_type, 'post-formats' ) ) {
 				$post_format = get_post_format( $post->ID );
 
-				if ( $post_format && !is_wp_error($post_format) )
+				if ( $post_format && ! is_wp_error( $post_format ) )
 					$classes[] = 'single-format-' . sanitize_html_class( $post_format );
 				else
 					$classes[] = 'single-format-standard';
diff --git wp-includes/post.php wp-includes/post.php
index 716447f..f8c1f44 100644
--- wp-includes/post.php
+++ wp-includes/post.php
@@ -758,12 +758,15 @@ function get_post_mime_type($ID = '') {
  *
  * @since 3.1.0
  *
- * @param int|object $post A post
+ * @param int|object $post Post ID or post object. Optional, default is the current post from the loop.
  *
  * @return mixed The format if successful. False if no format is set. WP_Error if errors.
  */
 function get_post_format( $post = null ) {
-	$post = get_post($post);
+	$post = get_post( $post );
+
+	if ( empty( $post ) )
+		return new WP_Error( 'invalid_post', __( 'Invalid post' ) );
 
 	if ( ! post_type_supports( $post->post_type, 'post-formats' ) )
 		return false;
