Index: wp-includes/post.php
===================================================================
--- wp-includes/post.php	(revision 17446)
+++ wp-includes/post.php	(working copy)
@@ -2903,8 +2903,8 @@
 	$post_ID = (int) $post_ID;
 	$post_type = get_post_type( $post_ID );
 	$post_status = get_post_status( $post_ID );
-	// If $post_categories isn't already an array, make it one:
-	if ( !is_array($post_categories) || empty($post_categories) ) {
+	$post_categories = (array) $post_categories;
+	if ( empty($post_categories) ) {
 		if ( 'post' == $post_type && 'auto-draft' != $post_status )
 			$post_categories = array( get_option('default_category') );
 		else
