Index: src/wp-includes/ms-functions.php
===================================================================
--- src/wp-includes/ms-functions.php	(revision 27086)
+++ src/wp-includes/ms-functions.php	(working copy)
@@ -277,6 +277,9 @@
 		$reassign = (int) $reassign;
 		$wpdb->query( $wpdb->prepare("UPDATE $wpdb->posts SET post_author = %d WHERE post_author = %d", $reassign, $user_id) );
 		$wpdb->query( $wpdb->prepare("UPDATE $wpdb->links SET link_owner = %d WHERE link_owner = %d", $reassign, $user_id) );
+
+		$post_ids = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_author = %d", $reassign ) );
+		array_map( 'clean_post_cache', $post_ids ); 
 	}
 
 	restore_current_blog();
Index: tests/phpunit/tests/ms.php
===================================================================
--- tests/phpunit/tests/ms.php	(revision 27086)
+++ tests/phpunit/tests/ms.php	(working copy)
@@ -25,6 +25,20 @@
 		$wpdb->suppress_errors( $this->suppress );
 	}
 
+	function test_remove_user_from_blog() {
+		$user1 = $this->factory->user->create_and_get();
+		$user2 = $this->factory->user->create_and_get();
+
+		$post_id = $this->factory->post->create( array( 'post_author' => $user1->ID ) );
+
+		remove_user_from_blog( $user1->ID, 1, $user2->ID );
+
+		$post = get_post( $post_id );
+
+		$this->assertNotEquals( $user1->ID, $post->post_author );
+		$this->assertEquals( $user2->ID, $post->post_author );
+	}
+
 	/**
 	 * @ticket 22917
 	 */
@@ -1158,6 +1172,7 @@
 		// Expect 0 sites when using an offset larger than the number of sites
 		$this->assertCount( 0, wp_get_sites( array( 'offset' => 20 ) ) );
 	}
+
 }
 
 endif;
