Index: wp-includes/functions.php
===================================================================
--- wp-includes/functions.php	(revision 34843)
+++ wp-includes/functions.php	(working copy)
@@ -3246,10 +3246,12 @@
 		 * if we knew we had an array of arrays.
 		 */
 		foreach ( $list as $key => $value ) {
-			if ( is_object( $value ) ) {
-				$list[ $key ] = $value->$field;
+			if ( is_object( $value ) && isset( $value->$field ) ) {
+					$list[ $key ] = $value->$field;
+			} elseif ( is_array( $value ) && isset( $value[ $field ] ) ) {
+				$list[ $key ] = $value[ $field ];
 			} else {
-				$list[ $key ] = $value[ $field ];
+				$list = array();
 			}
 		}
 		return $list;
@@ -3262,15 +3264,15 @@
 	$newlist = array();
 	foreach ( $list as $value ) {
 		if ( is_object( $value ) ) {
-			if ( isset( $value->$index_key ) ) {
+			if ( isset( $value->$index_key ) && isset( $value->$field ) ) {
 				$newlist[ $value->$index_key ] = $value->$field;
-			} else {
+			} elseif ( isset( $value->$field ) ) {
 				$newlist[] = $value->$field;
 			}
-		} else {
-			if ( isset( $value[ $index_key ] ) ) {
+		} elseif ( is_array( $value ) ) {
+			if ( isset( $value[ $index_key ] ) && isset( $value[ $field ] ) ) {
 				$newlist[ $value[ $index_key ] ] = $value[ $field ];
-			} else {
+			} elseif ( isset( $value[ $field ] ) ) {
 				$newlist[] = $value[ $field ];
 			}
 		}
