Index: src/wp-admin/options-discussion.php
===================================================================
--- src/wp-admin/options-discussion.php	(revision 53578)
+++ src/wp-admin/options-discussion.php	(working copy)
@@ -38,6 +38,7 @@
 
 <div class="wrap">
 <h1><?php echo esc_html( $title ); ?></h1>
+<?php settings_errors(); ?>
 
 <form method="post" action="options.php">
 <?php settings_fields( 'discussion' ); ?>
Index: src/wp-admin/options-general.php
===================================================================
--- src/wp-admin/options-general.php	(revision 53578)
+++ src/wp-admin/options-general.php	(working copy)
@@ -55,6 +55,7 @@
 
 <div class="wrap">
 <h1><?php echo esc_html( $title ); ?></h1>
+<?php settings_errors(); ?>
 
 <form method="post" action="options.php" novalidate="novalidate">
 <?php settings_fields( 'general' ); ?>
Index: src/wp-admin/options-head.php
===================================================================
--- src/wp-admin/options-head.php	(revision 53578)
+++ src/wp-admin/options-head.php	(working copy)
@@ -15,4 +15,11 @@
 	add_settings_error( 'general', 'settings_updated', __( 'Settings saved.' ), 'success' );
 }
 
-settings_errors();
+/*
+ * Display settings errors for non-core files.
+ * For core files, settings_errors() is called after
+ * the first heading on individual settings screens.
+ */
+if ( ! file_exists( ABSPATH . "/wp-admin/$pagenow" ) ) {
+	settings_errors();
+}
Index: src/wp-admin/options-media.php
===================================================================
--- src/wp-admin/options-media.php	(revision 53578)
+++ src/wp-admin/options-media.php	(working copy)
@@ -48,6 +48,7 @@
 
 <div class="wrap">
 <h1><?php echo esc_html( $title ); ?></h1>
+<?php settings_errors(); ?>
 
 <form action="options.php" method="post">
 <?php settings_fields( 'media' ); ?>
Index: src/wp-admin/options-permalink.php
===================================================================
--- src/wp-admin/options-permalink.php	(revision 53578)
+++ src/wp-admin/options-permalink.php	(working copy)
@@ -207,6 +207,7 @@
 ?>
 <div class="wrap">
 <h1><?php echo esc_html( $title ); ?></h1>
+<?php settings_errors(); ?>
 
 <form name="form" action="options-permalink.php" method="post">
 <?php wp_nonce_field( 'update-permalink' ); ?>
Index: src/wp-admin/options-reading.php
===================================================================
--- src/wp-admin/options-reading.php	(revision 53578)
+++ src/wp-admin/options-reading.php	(working copy)
@@ -59,6 +59,7 @@
 
 <div class="wrap">
 <h1><?php echo esc_html( $title ); ?></h1>
+<?php settings_errors(); ?>
 
 <form method="post" action="options.php">
 <?php
Index: src/wp-admin/options-writing.php
===================================================================
--- src/wp-admin/options-writing.php	(revision 53578)
+++ src/wp-admin/options-writing.php	(working copy)
@@ -59,6 +59,7 @@
 
 <div class="wrap">
 <h1><?php echo esc_html( $title ); ?></h1>
+<?php settings_errors(); ?>
 
 <form method="post" action="options.php">
 <?php settings_fields( 'writing' ); ?>
Index: src/wp-admin/options.php
===================================================================
--- src/wp-admin/options.php	(revision 53578)
+++ src/wp-admin/options.php	(working copy)
@@ -356,6 +356,7 @@
 
 <div class="wrap">
 	<h1><?php esc_html_e( 'All Settings' ); ?></h1>
+	<?php settings_errors(); ?>
 
 	<div class="notice notice-warning">
 		<p><strong><?php _e( 'Warning:' ); ?></strong> <?php _e( 'This page allows direct access to your site settings. You can break things here. Please be cautious!' ); ?></p>
