Index: wp-includes/taxonomy.php
===================================================================
--- wp-includes/taxonomy.php	(revision 19727)
+++ wp-includes/taxonomy.php	(working copy)
@@ -2657,7 +2657,7 @@
 		$object_terms[$term->object_id][$term->taxonomy][$term->term_id] = $term;
 
 	foreach ( $ids as $id ) {
-		foreach ( $taxonomies  as $taxonomy ) {
+		foreach ( $taxonomies as $taxonomy ) {
 			if ( ! isset($object_terms[$id][$taxonomy]) ) {
 				if ( !isset($object_terms[$id]) )
 					$object_terms[$id] = array();
@@ -2668,7 +2668,7 @@
 
 	foreach ( $object_terms as $id => $value ) {
 		foreach ( $value as $taxonomy => $terms ) {
-			wp_cache_set($id, $terms, "{$taxonomy}_relationships");
+			wp_cache_add( $id, $terms, "{$taxonomy}_relationships" );
 		}
 	}
 }
Index: wp-includes/post.php
===================================================================
--- wp-includes/post.php	(revision 19727)
+++ wp-includes/post.php	(working copy)
@@ -4330,10 +4330,12 @@
 	if ( 0 === $id )
 		return;
 
+	$post = get_post( $id );
+
 	wp_cache_delete($id, 'posts');
 	wp_cache_delete($id, 'post_meta');
 
-	clean_object_term_cache($id, 'post');
+	clean_object_term_cache( $id, $post->post_type );
 
 	wp_cache_delete( 'wp_get_archives', 'general' );
 
Index: wp-includes/bookmark.php
===================================================================
--- wp-includes/bookmark.php	(revision 19727)
+++ wp-includes/bookmark.php	(working copy)
@@ -375,7 +375,8 @@
  * @since 2.7.0
  * @uses wp_cache_delete() Deletes the contents of 'get_bookmarks'
  */
-function clean_bookmark_cache($bookmark_id) {
+function clean_bookmark_cache( $bookmark_id ) {
 	wp_cache_delete( $bookmark_id, 'bookmark' );
 	wp_cache_delete( 'get_bookmarks', 'bookmark' );
+	clean_object_term_cache( $bookmark_id, 'link');
 }

