Index: wp-includes/post.php
===================================================================
--- wp-includes/post.php	(revision 11119)
+++ wp-includes/post.php	(working copy)
@@ -2276,17 +2276,13 @@
 		$pages = & get_page_children($child_of, $pages);
 
 	if ( !empty($exclude_tree) ) {
-		$exclude = array();
-
-		$exclude = (int) $exclude_tree;
-		$children = get_page_children($exclude, $pages);
-		$excludes = array();
-		foreach ( $children as $child )
-			$excludes[] = $child->ID;
-		$excludes[] = $exclude;
+		$excludes = array_map('intval', explode(',', $exclude_tree));
+		
+		// exclude tree will work as describben - self and direct childs only (!)		
 		$total = count($pages);
 		for ( $i = 0; $i < $total; $i++ ) {
-			if ( in_array($pages[$i]->ID, $excludes) )
+			if ( in_array($pages[$i]->ID, $excludes) || 
+			     in_array($pages[$i]->post_parent, $excludes))			     
 				unset($pages[$i]);
 		}
 	}
