Index: wp-includes/post.php
===================================================================
--- wp-includes/post.php	(revision 24833)
+++ wp-includes/post.php	(working copy)
@@ -804,14 +804,10 @@
  * @return array List of post statuses.
  */
 function get_post_statuses() {
-	$status = array(
-		'draft'			=> __('Draft'),
-		'pending'		=> __('Pending Review'),
-		'private'		=> __('Private'),
-		'publish'		=> __('Published')
-	);
+	global $wp_post_statuses;
+	$stati = wp_set_array_key_value_from_objects( $wp_post_statuses, 'name', 'label' );
 
-	return $status;
+	return $stati;
 }
 
 /**
@@ -831,7 +827,7 @@
 		'publish'		=> __('Published')
 	);
 
-	return $status;
+	return $stati;
 }
 
 /**
Index: wp-includes/functions.php
===================================================================
--- wp-includes/functions.php	(revision 24833)
+++ wp-includes/functions.php	(working copy)
@@ -2629,7 +2629,33 @@
 	return $list;
 }
 
+
+
 /**
+ * This just takes an incoming array of objects and returns an array of keys/values from the objects for what you want returned.
+ * @param  array $objects     array of objects
+ * @param  string $keyindex   What object property you want to be the key
+ * @param  string $valueindex What object propery you want to be the value
+ * @return array             An array set up with the key/value pairs as indicated in the params
+ */
+function wp_set_array_key_value_from_objects( $objects, $keyindex, $valueindex ) {
+	$formedarray = array();
+	if ( !is_array( $objects ) )
+		return;
+
+	foreach ( $objects as $obj ) {
+		if ( !isset( $obj->$keyindex ) )
+			continue;
+		if ( !isset( $obj->$valueindex ) )
+			continue;
+
+		$formedarray[$obj->$keyindex] = $obj->$valueindex;
+	}
+
+	return $formedarray;
+}
+
+/**
  * Filters a list of objects, based on a set of key => value arguments.
  *
  * @since 3.1.0
