Index: post.php
===================================================================
--- post.php    (revision 3)
+++ post.php    (working copy)
@@ -1070,9 +1070,14 @@
        extract($r, EXTR_SKIP);

        $key = md5( serialize( $r ) );
-       if ( $cache = wp_cache_get( 'get_pages', 'page' ) )
-               if ( isset( $cache[ $key ] ) )
-                       return apply_filters('get_pages', $cache[ $key ], $r );
+       if ( $cache = wp_cache_get( 'get_pages', 'page' ) ) {
+               if ( isset( $cache[ $key ] ) ) {
+                       $pages = apply_filters('get_pages', $cache[ $key ], $r );
+            if ( $pages && ( $child_of || $hierarchical ) )
+                $pages = & get_page_children($child_of, $pages);
+            return $pages;
+        }
+    }

        $inclusions = '';
        if ( !empty($include) ) {
