Index: wp-admin/post.php
===================================================================
--- wp-admin/post.php	(revision 12644)
+++ wp-admin/post.php	(working copy)
@@ -37,23 +37,25 @@
 		elseif ( isset($_POST['publish']) )
 			$location = 'sidebar.php?a=b';
 	} elseif ( isset($_POST['save']) || isset($_POST['publish']) ) {
-		$status = get_post_status( $post_ID );
-
-		if ( isset( $_POST['publish'] ) ) {
-			switch ( $status ) {
-				case 'pending':
-					$message = 8;
-					break;
-				case 'future':
-					$message = 9;
-					break;
-				default:
-					$message = 6;
-			}
+		if ( 0 == $post_ID ) {
+			$location = 'post-new.php?message=11';
 		} else {
+			$status = get_post_status( $post_ID );
+			if ( isset( $_POST['publish'] ) ) {
+				switch ( $status ) {
+					case 'pending':
+						$message = 8;
+						break;
+					case 'future':
+						$message = 9;
+						break;
+					default:
+						$message = 6;
+				}
+			} else {
 				$message = 'draft' == $status ? 10 : 1;
+			}
 		}
-
 		$location = add_query_arg( 'message', $message, get_edit_post_link( $post_ID, 'url' ) );
 	} elseif ( isset($_POST['addmeta']) && $_POST['addmeta'] ) {
 		$location = add_query_arg( 'message', 2, wp_get_referer() );
Index: wp-admin/edit-form-advanced.php
===================================================================
--- wp-admin/edit-form-advanced.php	(revision 12644)
+++ wp-admin/edit-form-advanced.php	(working copy)
@@ -56,6 +56,8 @@
 		case 10:
 			$message = sprintf( __('Post draft updated. <a target="_blank" href="%s">Preview post</a>'), add_query_arg( 'preview', 'true', get_permalink($post_ID) ) );
 			break;
+		case 11:
+			$message = __('You attempted to save or publish an empty post. Provide some content before saving.');
 	}
 }
 
