diff --git a/archive.php b/archive.php
index dc79c492..03bbd8c9 100644
--- a/archive.php
+++ b/archive.php
@@ -25,16 +25,9 @@ get_header(); ?>
printf( __( 'Tag Archives: %s', '_s' ), '' . single_tag_title( '', false ) . '' );
} elseif ( is_author() ) {
- /* Queue the first post, that way we know
- * what author we're dealing with (if that is the case).
- */
- the_post();
- printf( __( 'Author Archives: %s', '_s' ), '' . get_the_author() . '' );
- /* Since we called the_post() above, we need to
- * rewind the loop back to the beginning that way
- * we can run the loop properly, in full.
- */
- rewind_posts();
+ // Get the queried author data.
+ $author = get_queried_object()->data;
+ printf( __( 'Author Archives: %s', '_s' ), '' . esc_html( $author->display_name ) . '' );
} elseif ( is_day() ) {
printf( __( 'Daily Archives: %s', '_s' ), '' . get_the_date() . '' );