Index: wp-includes/post.php
===================================================================
--- wp-includes/post.php	(revision 14438)
+++ wp-includes/post.php	(working copy)
@@ -2084,18 +2089,6 @@
 	if ( empty($post_type) )
 		$post_type = 'post';
 
-	if ( !empty($post_category) )
-		$post_category = array_filter($post_category); // Filter out empty terms
-
-	// Make sure we set a valid category.
-	if ( empty($post_category) || 0 == count($post_category) || !is_array($post_category) ) {
-		// 'post' requires at least one category.
-		if ( 'post' == $post_type )
-			$post_category = array( get_option('default_category') );
-		else
-			$post_category = array();
-	}
-
 	if ( empty($post_author) )
 		$post_author = $user_ID;
 
@@ -2566,12 +2559,12 @@
 	$post_ID = (int) $post_ID;
 	$post_type = get_post_type( $post_ID );
 	// If $post_categories isn't already an array, make it one:
-	if ( !is_array($post_categories) || 0 == count($post_categories) || empty($post_categories) ) {
+	if ( !is_array($post_categories) || empty($post_categories) ) {
 		if ( 'post' == $post_type )
 			$post_categories = array( get_option('default_category') );
 		else
 			$post_categories = array();
-	} else if ( 1 == count($post_categories) && '' == $post_categories[0] ) {
+	} else if ( 1 == count($post_categories) && '' == reset($post_categories) ) {
 		return true;
 	}
 
