Index: wp-admin/edit-form-advanced.php
===================================================================
--- wp-admin/edit-form-advanced.php	(revision 12723)
+++ wp-admin/edit-form-advanced.php	(working copy)
@@ -33,7 +33,8 @@
 	sprintf( __('Post submitted. <a target="_blank" href="%s">Preview post</a>'), add_query_arg( 'preview', 'true', get_permalink($post_ID) ) ),
 	// translators: Publish box date format, see http://php.net/date - Same as in meta-boxes.php
 	sprintf( __('Post scheduled for: <b>%1$s</b>. <a target="_blank" href="%2$s">Preview post</a>'), date_i18n( __( 'M j, Y @ G:i' ), strtotime( $post->post_date ) ), get_permalink($post_ID) ),
-	sprintf( __('Post draft updated. <a target="_blank" href="%s">Preview post</a>'), add_query_arg( 'preview', 'true', get_permalink($post_ID) ) )
+	sprintf( __('Post draft updated. <a target="_blank" href="%s">Preview post</a>'), add_query_arg( 'preview', 'true', get_permalink($post_ID) ) ),
+	__('You attempted to save or publish an empty post. Provide some content before saving.')
 );
 $messages['page'] = array(
 	'',
@@ -43,10 +44,12 @@
 	__('Page updated.'),
 	isset($_GET['revision']) ? sprintf( __('Page restored to revision from %s'), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
 	sprintf( __('Page published. <a href="%s">View page</a>'), get_permalink($post_ID) ),
+	'',
 	sprintf( __('Page submitted. <a target="_blank" href="%s">Preview page</a>'), add_query_arg( 'preview', 'true', get_permalink($post_ID) ) ),
 	// translators: Publish box date format, see http://php.net/date - Same as in meta-boxes.php
 	sprintf( __('Page scheduled for: <b>%1$s</b>. <a target="_blank" href="%2$s">Preview page</a>'), date_i18n( __( 'M j, Y @ G:i' ), strtotime( $post->post_date ) ), get_permalink($post_ID) ),
-	sprintf( __('Page draft updated. <a target="_blank" href="%s">Preview page</a>'), add_query_arg( 'preview', 'true', get_permalink($post_ID) ) )
+	sprintf( __('Page draft updated. <a target="_blank" href="%s">Preview page</a>'), add_query_arg( 'preview', 'true', get_permalink($post_ID) ) ),
+	__('You attempted to save or publish an empty page. Provide some content before saving.')
 );
 
 $message = false;
Index: wp-admin/post.php
===================================================================
--- wp-admin/post.php	(revision 12723)
+++ wp-admin/post.php	(working copy)
@@ -57,23 +57,28 @@
 		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";
+		    wp_redirect($location);
+		 	exit();
 		} else {
-				$message = 'draft' == $status ? 10 : 1;
-		}
+		     $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-includes/functions.php
===================================================================
--- wp-includes/functions.php	(revision 12723)
+++ wp-includes/functions.php	(working copy)
@@ -2460,7 +2460,12 @@
 		$html .= "</p><p>" . sprintf( __( "Do you really want to <a href='%s'>log out</a>?"), wp_logout_url() );
 	elseif ( wp_get_referer() )
 		$html .= "</p><p><a href='" . esc_url( remove_query_arg( 'updated', wp_get_referer() ) ) . "'>" . __( 'Please try again.' ) . "</a>";
-
+     
+	 if( 0== $post_id ){
+			$location = "post-new.php?post_type=page&message=11";
+			wp_redirect($location);
+			exit();
+		}
 	wp_die( $html, $title, array('response' => 403) );
 }
 
