Index: wp-includes/post.php
===================================================================
--- wp-includes/post.php	(revision 15261)
+++ wp-includes/post.php	(working copy)
@@ -2077,6 +2077,12 @@
 
 	$post = get_post($postid, $mode);
 
+	if ( 
+		( OBJECT == $mode && empty( $post->ID ) ) ||
+		( OBJECT != $mode && empty( $post['ID'] ) )
+	)
+		return ( OBJECT == $mode ? null : array() );
+
 	// Set categories and tags
 	if ( $mode == OBJECT ) {
 		$post->post_category = array();
@@ -2418,7 +2424,7 @@
 		$post_cats = $post['post_category'];
 
 	// Drafts shouldn't be assigned a date unless explicitly done so by the user
-	if ( in_array($post['post_status'], array('draft', 'pending', 'auto-draft')) && empty($postarr['edit_date']) &&
+	if ( isset( $post['post_status'] ) && in_array($post['post_status'], array('draft', 'pending', 'auto-draft')) && empty($postarr['edit_date']) &&
 			 ('0000-00-00 00:00:00' == $post['post_date_gmt']) )
 		$clear_date = true;
 	else
