Index: wp-includes/class-wp-embed.php
===================================================================
--- wp-includes/class-wp-embed.php	(revision 22225)
+++ wp-includes/class-wp-embed.php	(working copy)
@@ -25,8 +25,8 @@
 		// Attempts to embed all URLs in a post
 		add_filter( 'the_content', array( $this, 'autoembed' ), 8 );
 
-		// After a post is saved, invalidate the oEmbed cache
-		add_action( 'save_post', array( $this, 'delete_oembed_caches' ) );
+		// When a post is saved, invalidate the oEmbed cache
+		add_action( 'pre_post_update', array( $this, 'delete_oembed_caches' ) );
 
 		// After a post is saved, cache oEmbed items via AJAX
 		add_action( 'edit_form_advanced', array( $this, 'maybe_run_ajax_cache' ) );
@@ -201,13 +201,11 @@
 	 * @param int $post_ID Post ID to delete the caches for.
 	 */
 	function delete_oembed_caches( $post_ID ) {
-		$post_metas = get_post_custom_keys( $post_ID );
-		if ( empty($post_metas) )
+		if ( ! $meta = get_post_meta( $post_ID ) )
 			return;
-
-		foreach( $post_metas as $post_meta_key ) {
-			if ( '_oembed_' == substr( $post_meta_key, 0, 8 ) )
-				delete_post_meta( $post_ID, $post_meta_key );
+		foreach ( $meta as $key => $values ) {
+			if ( '_oembed_' == substr( $key, 0, 8 ) )
+				delete_post_meta( $post_id, $key );
 		}
 	}
 
