Index: src/wp-admin/css/common.css
===================================================================
--- src/wp-admin/css/common.css	(revision 38670)
+++ src/wp-admin/css/common.css	(working copy)
@@ -572,10 +572,20 @@
 	font-size: 23px;
 	font-weight: 400;
 	margin: 0;
-	padding: 9px 15px 4px 0;
+	padding: 9px 0 4px 0;
 	line-height: 29px;
 }
 
+.wrap h1.wp-heading-inline {
+	display: inline-block;
+	margin-right: 5px;
+}
+
+.wp-header-end {
+	visibility: hidden;
+	margin: -2px 0 0;
+}
+
 .subtitle {
 	margin: 0;
 	padding-left: 25px;
@@ -608,6 +618,10 @@
 	outline: 0;
 }
 
+.wrap .wp-heading-inline + .page-title-action {
+	margin-left: 0;
+}
+
 .wrap .add-new-h2:hover, /* deprecated */
 .wrap .page-title-action:hover {
 	border-color: #008EC2;
@@ -3633,6 +3647,10 @@
 		display: none !important;
 	}
 
+	.wrap h1.wp-heading-inline {
+		margin-bottom: 0.5em;
+	}
+
 	.wrap .add-new-h2, /* deprecated */
 	.wrap .add-new-h2:active, /* deprecated */
 	.wrap .page-title-action,
Index: src/wp-admin/edit-form-advanced.php
===================================================================
--- src/wp-admin/edit-form-advanced.php	(revision 38670)
+++ src/wp-admin/edit-form-advanced.php	(working copy)
@@ -473,11 +473,18 @@
 ?>
 
 <div class="wrap">
-<h1><?php
+<h1 class="wp-heading-inline"><?php
 echo esc_html( $title );
-if ( isset( $post_new_file ) && current_user_can( $post_type_object->cap->create_posts ) )
+?></h1>
+
+<?php
+if ( isset( $post_new_file ) && current_user_can( $post_type_object->cap->create_posts ) ) {
 	echo ' <a href="' . esc_url( admin_url( $post_new_file ) ) . '" class="page-title-action">' . esc_html( $post_type_object->labels->add_new ) . '</a>';
-?></h1>
+}
+?>
+
+<hr class="wp-header-end">
+
 <?php if ( $notice ) : ?>
 <div id="notice" class="notice notice-warning"><p id="has-newer-autosave"><?php echo $notice ?></p></div>
 <?php endif; ?>
Index: src/wp-admin/edit.php
===================================================================
--- src/wp-admin/edit.php	(revision 38670)
+++ src/wp-admin/edit.php	(working copy)
@@ -314,17 +314,23 @@
 require_once( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 <div class="wrap">
-<h1><?php
+<h1 class="wp-heading-inline"><?php
 echo esc_html( $post_type_object->labels->name );
-if ( current_user_can( $post_type_object->cap->create_posts ) )
+?></h1>
+
+<?php
+if ( current_user_can( $post_type_object->cap->create_posts ) ) {
 	echo ' <a href="' . esc_url( admin_url( $post_new_file ) ) . '" class="page-title-action">' . esc_html( $post_type_object->labels->add_new ) . '</a>';
+}
 
 if ( isset( $_REQUEST['s'] ) && strlen( $_REQUEST['s'] ) ) {
 	/* translators: %s: search keywords */
 	printf( ' <span class="subtitle">' . __( 'Search results for &#8220;%s&#8221;' ) . '</span>', get_search_query() );
 }
-?></h1>
+?>
 
+<hr class="wp-header-end">
+
 <?php
 // If we have a bulk message to issue:
 $messages = array();
Index: src/wp-admin/js/common.js
===================================================================
--- src/wp-admin/js/common.js	(revision 38670)
+++ src/wp-admin/js/common.js	(working copy)
@@ -202,7 +202,8 @@
 			wpwrap: $wpwrap.height(),
 			adminbar: $adminbar.height(),
 			menu: $adminMenuWrap.height()
-		};
+		},
+		$headerEnd = $( '.wp-header-end' );
 
 
 	// when the menu is folded, make the fly-out submenu header clickable
@@ -396,8 +397,13 @@
 	/*
 	 * The `.below-h2` class is here just for backward compatibility with plugins
 	 * that are (incorrectly) using it. Do not use. Use `.inline` instead. See #34570.
+	 * If '.wp-header-end' is found, append the notices after it otherwise
+	 * after the first h1 or h2 heading found within the main content.
 	 */
-	$( 'div.updated, div.error, div.notice' ).not( '.inline, .below-h2' ).insertAfter( $( '.wrap h1, .wrap h2' ).first() );
+	if ( ! $headerEnd.length ) {
+		$headerEnd = $( '.wrap h1, .wrap h2' ).first();
+	}
+	$( 'div.updated, div.error, div.notice' ).not( '.inline, .below-h2' ).insertAfter( $headerEnd );
 
 	// Make notices dismissible
 	function makeNoticesDismissible() {
Index: src/wp-includes/js/autosave.js
===================================================================
--- src/wp-includes/js/autosave.js	(revision 38670)
+++ src/wp-includes/js/autosave.js	(working copy)
@@ -315,7 +315,8 @@
 				var content, post_title, excerpt, $notice,
 					postData = getSavedPostData(),
 					cookie = wpCookies.get( 'wp-saving-post' ),
-					$newerAutosaveNotice = $( '#has-newer-autosave' ).parent( '.notice' );
+					$newerAutosaveNotice = $( '#has-newer-autosave' ).parent( '.notice' ),
+					$headerEnd = $( '.wp-header-end' );
 
 				if ( cookie === post_id + '-saved' ) {
 					wpCookies.remove( 'wp-saving-post' );
@@ -338,8 +339,16 @@
 					return;
 				}
 
+				/*
+				 * If '.wp-header-end' is found, append the notices after it otherwise
+				 * after the first h1 or h2 heading found within the main content.
+				 */
+				if ( ! $headerEnd.length ) {
+					$headerEnd = $( '.wrap h1, .wrap h2' ).first();
+				}
+
 				$notice = $( '#local-storage-notice' )
-					.insertAfter( $( '.wrap h1, .wrap h2' ).first() )
+					.insertAfter( $headerEnd )
 					.addClass( 'notice-warning' );
 
 				if ( $newerAutosaveNotice.length ) {
