Index: trunk/wp-includes/post.php
===================================================================
--- trunk/wp-includes/post.php	(revision 8758)
+++ trunk/wp-includes/post.php	(working copy)
@@ -578,27 +578,20 @@
 
 	$meta_cache = wp_cache_get($post_id, 'post_meta');
 
+	if ( !$meta_cache ) {
+		update_postmeta_cache($post_id);
+		$meta_cache = wp_cache_get($post_id, 'post_meta');
+	}
+
 	if ( isset($meta_cache[$key]) ) {
 		if ( $single ) {
 			return maybe_unserialize( $meta_cache[$key][0] );
 		} else {
-			return maybe_unserialize( $meta_cache[$key] );
+			return array_map('maybe_unserialize', $meta_cache[$key]);
 		}
 	}
 
-	if ( !$meta_cache ) {
-		update_postmeta_cache($post_id);
-		$meta_cache = wp_cache_get($post_id, 'post_meta');
-	}
-
-	if ( $single ) {
-		if ( isset($meta_cache[$key][0]) )
-			return maybe_unserialize($meta_cache[$key][0]);
-		else
-			return '';
-	} else {
-		return maybe_unserialize($meta_cache[$key]);
-	}
+	return '';
 }
 
 /**

