diff --git a/wp-includes/post.php b/wp-includes/post.php
index 03f31ef..2f92af0 100644
--- a/wp-includes/post.php
+++ b/wp-includes/post.php
@@ -3192,7 +3192,8 @@ function wp_set_post_categories($post_ID = 0, $post_categories = array()) {
 	$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
