Index: wp-includes/meta.php
===================================================================
--- wp-includes/meta.php	(revision 21801)
+++ wp-includes/meta.php	(working copy)
@@ -135,6 +135,8 @@
 		}
 	}
 
+	$_meta_ids = $wpdb->get_col( $wpdb->prepare( "SELECT $id_column FROM $table WHERE meta_key = %s AND $column = %d", $meta_key, $object_id ) );
+	
 	$_meta_value = $meta_value;
 	$meta_value = maybe_serialize( $meta_value );
 
@@ -146,19 +148,25 @@
 		$where['meta_value'] = $prev_value;
 	}
 
-	do_action( "update_{$meta_type}_meta", $meta_id, $object_id, $meta_key, $_meta_value );
+	foreach ( $_meta_ids as $_meta_id )
+		do_action( "update_{$meta_type}_meta", $_meta_id, $object_id, $meta_key, $_meta_value );
 
-	if ( 'post' == $meta_type )
-		do_action( 'update_postmeta', $meta_id, $object_id, $meta_key, $meta_value );
-
+	if ( 'post' == $meta_type ) {
+		foreach ( $_meta_ids as $_meta_id )
+			do_action( 'update_postmeta', $_meta_id, $object_id, $meta_key, $meta_value );
+	}
+		
 	$wpdb->update( $table, $data, $where );
 
 	wp_cache_delete($object_id, $meta_type . '_meta');
 
-	do_action( "updated_{$meta_type}_meta", $meta_id, $object_id, $meta_key, $_meta_value );
+	foreach ( $_meta_ids as $_meta_id )
+		do_action( "updated_{$meta_type}_meta", $_meta_id, $object_id, $meta_key, $_meta_value );
 
-	if ( 'post' == $meta_type )
-		do_action( 'updated_postmeta', $meta_id, $object_id, $meta_key, $meta_value );
+	if ( 'post' == $meta_type ) {
+		foreach ( $_meta_ids as $_meta_id )
+			do_action( 'updated_postmeta', $_meta_id, $object_id, $meta_key, $meta_value );
+	}
 
 	return true;
 }
