diff --git a/src/wp-includes/default-filters.php b/src/wp-includes/default-filters.php
index c1f6f673e1..53f1d7b247 100644
--- a/src/wp-includes/default-filters.php
+++ b/src/wp-includes/default-filters.php
@@ -124,7 +124,7 @@ foreach ( array( 'single_post_title', 'single_cat_title', 'single_tag_title', 's
 }
 
 // Format text area for display.
-foreach ( array( 'term_description', 'get_the_author_description', 'get_the_post_type_description' ) as $filter ) {
+foreach ( array( 'term_description', 'get_the_post_type_description' ) as $filter ) {
 	add_filter( $filter, 'wptexturize' );
 	add_filter( $filter, 'convert_chars' );
 	add_filter( $filter, 'wpautop' );
diff --git a/src/wp-includes/general-template.php b/src/wp-includes/general-template.php
index ca2dbc02ec..a082aa05d0 100644
--- a/src/wp-includes/general-template.php
+++ b/src/wp-includes/general-template.php
@@ -1580,7 +1580,20 @@ function get_the_archive_description() {
 	if ( is_author() ) {
 		$description = get_the_author_meta( 'description' );
 	} elseif ( is_post_type_archive() ) {
-		$description = get_the_post_type_description();
+		$post_type = get_query_var( 'post_type' );
+
+		if ( is_array( $post_type ) ) {
+			$post_type = reset( $post_type );
+		}
+
+		$post_type_obj = get_post_type_object( $post_type );
+
+		// Check if a description is set.
+		if ( isset( $post_type_obj->description ) ) {
+			$description = $post_type_obj->description;
+		} else {
+			$description = '';
+		}
 	} else {
 		$description = term_description();
 	}
diff --git a/tests/phpunit/tests/user/author.php b/tests/phpunit/tests/user/author.php
index d8bdf37a39..669ff72d84 100644
--- a/tests/phpunit/tests/user/author.php
+++ b/tests/phpunit/tests/user/author.php
@@ -56,18 +56,18 @@ class Tests_User_Author_Template extends WP_UnitTestCase {
 		$this->assertEquals( 'test_author', get_the_author_meta( 'user_login' ) );
 		$this->assertEquals( 'test_author', get_the_author_meta( 'display_name' ) );
 
-		$this->assertEquals( '<p>test_author</p>', trim( get_the_author_meta( 'description' ) ) );
+		$this->assertEquals( 'test_author', trim( get_the_author_meta( 'description' ) ) );
 		$this->assertEquals( 'test_author', get_the_author_meta( 'user_description' ) );
 		add_user_meta( self::$author_id, 'user_description', 'user description' );
 		$this->assertEquals( 'user description', get_user_meta( self::$author_id, 'user_description', true ) );
 		// user_description in meta is ignored. The content of description is returned instead.
 		// See #20285
 		$this->assertEquals( 'test_author', get_the_author_meta( 'user_description' ) );
-		$this->assertEquals( '<p>test_author</p>', trim( get_the_author_meta( 'description' ) ) );
+		$this->assertEquals( 'test_author', trim( get_the_author_meta( 'description' ) ) );
 		update_user_meta( self::$author_id, 'user_description', '' );
 		$this->assertEquals( '', get_user_meta( self::$author_id, 'user_description', true ) );
 		$this->assertEquals( 'test_author', get_the_author_meta( 'user_description' ) );
-		$this->assertEquals( '<p>test_author</p>', trim( get_the_author_meta( 'description' ) ) );
+		$this->assertEquals( 'test_author', trim( get_the_author_meta( 'description' ) ) );
 
 		$this->assertEquals( '', get_the_author_meta( 'does_not_exist' ) );
 	}
