Index: wp-includes/class-wp.php
===================================================================
--- wp-includes/class-wp.php	(revision 22252)
+++ wp-includes/class-wp.php	(working copy)
@@ -206,8 +206,13 @@
 
 						if ( $wp_rewrite->use_verbose_page_rules && preg_match( '/pagename=\$matches\[([0-9]+)\]/', $query, $varmatch ) ) {
 							// this is a verbose page match, lets check to be sure about it
-							if ( ! get_page_by_path( $matches[ $varmatch[1] ] ) )
+							$page = get_page_by_path( $matches[ $varmatch[1] ] );
+							if ( ! $page )
 						 		continue;
+
+						 	$post_status_obj = get_post_status_object( $page->post_status );
+						 	if ( ! ( $post_status_obj->public || $post_status_obj->protected || $post_status_obj->private ) )
+						 		continue;
 						}
 
 						// Got a match.
