diff --git src/wp-includes/post.php src/wp-includes/post.php
index cc8e843..72ef164 100644
--- src/wp-includes/post.php
+++ src/wp-includes/post.php
@@ -4291,7 +4291,9 @@ function _page_traverse_name( $page_id, &$children, &$result ){
  * @return string|false Page URI, false on error.
  */
 function get_page_uri( $page ) {
-	$page = get_post( $page );
+	if ( ! $page instanceof WP_Post ) {
+		$page = get_post( $page );
+	}
 
 	if ( ! $page )
 		return false;
