Index: wp-includes/post-template.php
===================================================================
--- wp-includes/post-template.php	(revision 15432)
+++ wp-includes/post-template.php	(working copy)
@@ -758,7 +758,8 @@
 		'child_of' => 0, 'exclude' => '',
 		'title_li' => __('Pages'), 'echo' => 1,
 		'authors' => '', 'sort_column' => 'menu_order, post_title',
-		'link_before' => '', 'link_after' => '', 'walker' => '',
+		'link_before' => '', 'link_after' => '', 'walker' => '', 
+		'include_private' => false
 	);
 
 	$r = wp_parse_args( $args, $defaults );
Index: wp-includes/post.php
===================================================================
--- wp-includes/post.php	(revision 15432)
+++ wp-includes/post.php	(working copy)
@@ -3064,6 +3064,7 @@
 		'authors' => '', 'parent' => -1, 'exclude_tree' => '',
 		'number' => '', 'offset' => 0,
 		'post_type' => 'page', 'post_status' => 'publish',
+		'include_private' => false
 	);
 
 	$r = wp_parse_args( $args, $defaults );
@@ -3171,9 +3172,13 @@
 
 	if ( $parent >= 0 )
 		$where .= $wpdb->prepare(' AND post_parent = %d ', $parent);
+	
+	$page_status = "AND post_status = '%s'";
+	if ( $include_private ) {
+		$page_status = 'AND ' . get_private_posts_cap_sql( 'page' );
+	}
+	$where_post_type = $wpdb->prepare( "post_type = '%s' $page_status", $post_type, $post_status );
 
-	$where_post_type = $wpdb->prepare( "post_type = '%s' AND post_status = '%s'", $post_type, $post_status );
-
 	$query = "SELECT * FROM $wpdb->posts $join WHERE ($where_post_type) $where ";
 	$query .= $author_query;
 	$query .= " ORDER BY " . $sort_column . " " . $sort_order ;
