Index: src/wp-includes/canonical.php
===================================================================
--- src/wp-includes/canonical.php	(revision 35773)
+++ src/wp-includes/canonical.php	(working copy)
@@ -172,6 +172,11 @@
 		} elseif ( is_page() && !empty($_GET['page_id']) && ! $redirect_url ) {
 			if ( $redirect_url = get_permalink(get_query_var('page_id')) )
 				$redirect['query'] = remove_query_arg('page_id', $redirect['query']);
+		} elseif ( is_page() && ! empty( $_GET['pagename'] ) ) {
+			$page = get_page_by_path( $_GET['pagename'] );
+			if ( $page && $redirect_url = get_permalink( $page->ID ) ) {
+				$redirect['query'] = remove_query_arg( 'pagename', $redirect['query'] );
+			}
 		} elseif ( is_page() && !is_feed() && isset($wp_query->queried_object) && 'page' == get_option('show_on_front') && $wp_query->queried_object->ID == get_option('page_on_front')  && ! $redirect_url ) {
 			$redirect_url = home_url('/');
 		} elseif ( is_home() && !empty($_GET['page_id']) && 'page' == get_option('show_on_front') && get_query_var('page_id') == get_option('page_for_posts')  && ! $redirect_url ) {
@@ -208,6 +213,13 @@
 				if ( $redirect_url = get_author_posts_url($author->ID, $author->user_nicename) )
 					$redirect['query'] = remove_query_arg('author', $redirect['query']);
 			}
+		} elseif ( is_author() && ! empty( $_GET['author_name'] ) ) {
+			$author = get_user_by( 'slug', $_GET['author_name'] );
+			if ( ( false !== $author ) && $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE $wpdb->posts.post_author = %d AND $wpdb->posts.post_status = 'publish' LIMIT 1", $author->ID ) ) ) {
+				if ( $redirect_url = get_author_posts_url( $author->ID, $author->user_nicename ) ) {
+					$redirect['query'] = remove_query_arg( 'author_name', $redirect['query'] );
+				}
+			}
 		} elseif ( is_category() || is_tag() || is_tax() ) { // Terms (Tags/categories)
 
 			$term_count = 0;
Index: src/wp-includes/post-formats.php
===================================================================
--- src/wp-includes/post-formats.php	(revision 35773)
+++ src/wp-includes/post-formats.php	(working copy)
@@ -159,9 +159,6 @@
 	$slugs = get_post_format_slugs();
 	if ( isset( $slugs[ $qvs['post_format'] ] ) )
 		$qvs['post_format'] = 'post-format-' . $slugs[ $qvs['post_format'] ];
-	$tax = get_taxonomy( 'post_format' );
-	if ( ! is_admin() )
-		$qvs['post_type'] = $tax->object_type;
 	return $qvs;
 }
 
Index: tests/phpunit/includes/testcase-canonical.php
===================================================================
--- tests/phpunit/includes/testcase-canonical.php	(revision 35773)
+++ tests/phpunit/includes/testcase-canonical.php	(working copy)
@@ -50,8 +50,9 @@
 
 		// Already created by install defaults:
 		// self::factory()->term->create( array( 'taxonomy' => 'category', 'name' => 'uncategorized' ) );
-
-		self::$post_ids[] = $factory->post->create( array( 'import_id' => 587, 'post_title' => 'post-format-test-audio', 'post_date' => '2008-06-02 00:00:00' ) );
+		$post_format_audio_id = $factory->post->create( array( 'import_id' => 587, 'post_title' => 'post-format-test-audio', 'post_date' => '2008-06-02 00:00:00' ) );
+		set_post_format( $post_format_audio_id, 'audio' );
+		self::$post_ids[] = $post_format_audio_id;
 		self::$post_ids[] = $post_id = $factory->post->create( array( 'post_title' => 'post-format-test-gallery', 'post_date' => '2008-06-10 00:00:00' ) );
 		self::$post_ids[] = $factory->post->create( array( 'import_id' => 611, 'post_type' => 'attachment', 'post_title' => 'canola2', 'post_parent' => $post_id ) );
 
Index: tests/phpunit/tests/canonical.php
===================================================================
--- tests/phpunit/tests/canonical.php	(revision 35773)
+++ tests/phpunit/tests/canonical.php	(working copy)
@@ -84,7 +84,9 @@
 			array( '/?name=images-te', '/2008/09/03/images-test/', 20374),
 			// Page slug should resolve to post slug and remove the ?pagename= parameter
 			array( '/?pagename=images-test', '/2008/09/03/images-test/', 20374),
+			array( '/?pagename=sample-page', '/sample-page/'),
 
+			array( '/?post_format=audio', '/type/audio/' ),
 			array( '/2008/06/02/post-format-test-au/', '/2008/06/02/post-format-test-audio/'),
 			array( '/2008/06/post-format-test-au/', '/2008/06/02/post-format-test-audio/'),
 			array( '/2008/post-format-test-au/', '/2008/06/02/post-format-test-audio/'),
@@ -118,6 +120,8 @@
 
 			// Authors
 			array( '/?author=%d', '/author/canonical-author/' ),
+			array( '/?author_name=canonical-author', '/author/canonical-author/' ),
+			array( '/?author_name=foobar', '/?author_name=foobar' ),
 //			array( '/?author=%d&year=2008', '/2008/?author=3'),
 //			array( '/author/canonical-author/?year=2008', '/2008/?author=3'), //Either or, see previous testcase.
 
