Index: wp-includes/query.php
===================================================================
--- wp-includes/query.php	(revision 16789)
+++ wp-includes/query.php	(working copy)
@@ -2675,6 +2675,8 @@
 				$this->queried_object = $term;
 				$this->queried_object_id = (int) $term->term_id;
 			}
+		} elseif ( $this->is_post_type_archive ) {
+			$this->queried_object = get_post_type_object( $this->get('post_type') );
 		} elseif ( $this->is_posts_page ) {
 			$page_for_posts = get_option('page_for_posts');
 			$this->queried_object = & get_page( $page_for_posts );
Index: wp-includes/general-template.php
===================================================================
--- wp-includes/general-template.php	(revision 16789)
+++ wp-includes/general-template.php	(working copy)
@@ -667,8 +696,7 @@
 	if ( ! is_post_type_archive() )
 		return;
 
-
-	$post_type_obj = get_post_type_object( get_query_var( 'post_type' ) );
+	$post_type_obj = get_queried_object();
 	$title = apply_filters('post_type_archive_title', $post_type_obj->labels->name );
 
 	if ( $display )
