Index: wp-includes/post.php
===================================================================
--- wp-includes/post.php	(revision 21287)
+++ wp-includes/post.php	(working copy)
@@ -2833,7 +2833,10 @@
  * @return string unique slug for the post, based on $post_name (with a -1, -2, etc. suffix)
  */
 function wp_unique_post_slug( $slug, $post_ID, $post_status, $post_type, $post_parent ) {
-	if ( in_array( $post_status, array( 'draft', 'pending', 'auto-draft' ) ) )
+	if ( isset($post_ID->post_status) )
+		$post_status = $post_ID->post_status;
+
+	if ( 'publish' === $post_status )
 		return $slug;
 
 	global $wpdb, $wp_rewrite;
Index: wp-admin/includes/post.php
===================================================================
--- wp-admin/includes/post.php	(revision 21287)
+++ wp-admin/includes/post.php	(working copy)
@@ -1034,7 +1034,7 @@
 	if ( !is_null($name) )
 		$post->post_name = sanitize_title($name ? $name : $title, $post->ID);
 
-	$post->post_name = wp_unique_post_slug($post->post_name, $post->ID, $post->post_status, $post->post_type, $post->post_parent);
+	$post->post_name = wp_unique_post_slug( $post->post_name, $post, 'sample-' . $post->post_status, $post->post_type, $post->post_parent );
 
 	$post->filter = 'sample';
 
