Index: wp-admin/includes/post.php
===================================================================
--- wp-admin/includes/post.php	(revision 22944)
+++ wp-admin/includes/post.php	(working copy)
@@ -26,6 +26,15 @@
 	if ( $update )
 		$post_data['ID'] = (int) $post_data['post_ID'];
 
+	$ptype = get_post_type_object( $post_data['post_type'] );
+	if ( $update && ! current_user_can( $ptype->cap->edit_post, $post_data['ID'] ) ) {
+		if ( 'page' == $post_data['post_type'] ) {
+			return new WP_Error( 'edit_others_pages', __( 'You are not allowed to edit pages as this user.' ) );
+		} else {
+			return new WP_Error( 'edit_others_posts', __( 'You are not allowed to edit posts as this user.' ) );
+		}
+	}
+
 	if ( isset( $post_data['content'] ) )
 		$post_data['post_content'] = $post_data['content'];
 
@@ -51,24 +60,12 @@
 		}
 	}
 
-	$ptype = get_post_type_object( $post_data['post_type'] );
-	if ( isset($post_data['user_ID']) && ($post_data['post_author'] != $post_data['user_ID']) ) {
-		if ( $update ) {
-			if ( ! current_user_can( $ptype->cap->edit_post, $post_data['ID'] ) ) {
-				if ( 'page' == $post_data['post_type'] ) {
-					return new WP_Error( 'edit_others_pages', __( 'You are not allowed to edit pages as this user.' ) );
-				} else {
-					return new WP_Error( 'edit_others_posts', __( 'You are not allowed to edit posts as this user.' ) );
-				}
-			}
+	if ( ! $update && isset( $post_data['user_ID'] ) && ( $post_data['post_author'] != $post_data['user_ID'] )
+		 && ! current_user_can( $ptype->cap->edit_others_posts ) ) {
+		if ( 'page' == $post_data['post_type'] ) {
+			return new WP_Error( 'edit_others_pages', __( 'You are not allowed to create pages as this user.' ) );
 		} else {
-			if ( ! current_user_can( $ptype->cap->edit_others_posts )  ) {
-				if ( 'page' == $post_data['post_type'] ) {
-					return new WP_Error( 'edit_others_pages', __( 'You are not allowed to create pages as this user.' ) );
-				} else {
-					return new WP_Error( 'edit_others_posts', __( 'You are not allowed to create posts as this user.' ) );
-				}
-			}
+			return new WP_Error( 'edit_others_posts', __( 'You are not allowed to create posts as this user.' ) );
 		}
 	}
 
