Index: wp-includes/post.php
===================================================================
--- wp-includes/post.php	(revision 21948)
+++ wp-includes/post.php	(working copy)
@@ -557,7 +557,6 @@
 
 	$post = get_post( $post );
 
-	if ( ! $ancestors = wp_cache_get( $post->ID, 'post_ancestors' ) ) {
 		$ancestors = array();
 
 		if ( !empty( $post->post_parent ) && $post->ID != $post->post_parent ) {
@@ -572,9 +571,6 @@
 			}
 		}
 
-		wp_cache_add( $post->ID, $ancestors, 'post_ancestors' );
-	}
-
 	return $ancestors;
 }
 
@@ -2218,8 +2214,8 @@
 
 	clean_post_cache( $post );
 
-	if ( is_post_type_hierarchical( $post->post_type ) ) {
-		foreach ( (array) $children as $child )
+	if ( is_post_type_hierarchical( $post->post_type ) && $children ) {
+		foreach ( $children as $child )
 			clean_post_cache( $child );
 	}
 
@@ -4500,15 +4496,6 @@
 		wp_cache_delete( 'all_page_ids', 'posts' );
 		do_action( 'clean_page_cache', $post->ID );
 	}
-
-	if ( $children = $wpdb->get_results( $wpdb->prepare("SELECT ID, post_type FROM $wpdb->posts WHERE post_parent = %d", $post->ID) ) ) {
-		foreach ( $children as $child ) {
-			// Loop detection
-			if ( $child->ID == $post->ID )
-				continue;
-			clean_post_cache( $child );
-		}
-	}
 }
 
 /**
Index: wp-includes/load.php
===================================================================
--- wp-includes/load.php	(revision 21948)
+++ wp-includes/load.php	(working copy)
@@ -410,7 +410,7 @@
 
 	if ( function_exists( 'wp_cache_add_global_groups' ) ) {
 		wp_cache_add_global_groups( array( 'users', 'userlogins', 'usermeta', 'user_meta', 'site-transient', 'site-options', 'site-lookup', 'blog-lookup', 'blog-details', 'rss', 'global-posts' ) );
-		wp_cache_add_non_persistent_groups( array( 'comment', 'counts', 'plugins', 'post_ancestors' ) );
+		wp_cache_add_non_persistent_groups( array( 'comment', 'counts', 'plugins' ) );
 	}
 }
 
