Index: wp-includes/taxonomy.php
===================================================================
--- wp-includes/taxonomy.php	(revision 12085)
+++ wp-includes/taxonomy.php	(working copy)
@@ -1291,8 +1291,15 @@
 		$terms = $wpdb->get_col("SELECT tr.term_taxonomy_id FROM $wpdb->term_relationships AS tr INNER JOIN $wpdb->term_taxonomy AS tt ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tr.object_id IN ($object_ids) AND tt.taxonomy IN ($taxonomies) $orderby $order");
 	}
 
-	if ( ! $terms )
-		$terms = array();
+	if ( in_array($fields, array('ids', 'names', 'tt_ids') ) ) {
+		$terms = array_unique((array) $terms);
+	} else {
+		$_terms = array();
+		foreach( (array) $terms as $term ) {
+			$_terms[$term->term_id] = $term;
+		}
+		$terms = $_terms;
+	}
 
 	return apply_filters('wp_get_object_terms', $terms, $object_ids, $taxonomies, $args);
 }
