diff --git a/core/modules/system/system.install b/core/modules/system/system.install
index 1838326451..039f73663f 100644
--- a/core/modules/system/system.install
+++ b/core/modules/system/system.install
@@ -436,8 +436,9 @@ function system_requirements($phase) {
     // updated when they are managed in a version control system.
     if (Settings::get('skip_permissions_hardening')) {
       $conf_errors[] = t('Protection disabled');
-      // If permissions hardening is disabled, then only show a warning for a
-      // writable file, as a reminder, rather than an error.
+      // If permissions hardening is disabled, then only show a warning as a
+      // reminder, rather than an error. The config files are not actually
+      // checked as doing so may change their permissions.
       $file_protection_severity = REQUIREMENT_WARNING;
     }
     else {
@@ -446,11 +447,11 @@ function system_requirements($phase) {
       if (!drupal_verify_install_file($site_path, FILE_NOT_WRITABLE, 'dir')) {
         $conf_errors[] = t("The directory %file is not protected from modifications and poses a security risk. You must change the directory's permissions to be non-writable.", ['%file' => $site_path]);
       }
-    }
-    foreach (['settings.php', 'settings.local.php', 'services.yml'] as $conf_file) {
-      $full_path = $site_path . '/' . $conf_file;
-      if (file_exists($full_path) && (Settings::get('skip_permissions_hardening') || !drupal_verify_install_file($full_path, FILE_EXIST | FILE_READABLE | FILE_NOT_WRITABLE))) {
-        $conf_errors[] = t("The file %file is not protected from modifications and poses a security risk. You must change the file's permissions to be non-writable.", ['%file' => $full_path]);
+      foreach (['settings.php', 'settings.local.php', 'services.yml'] as $conf_file) {
+        $full_path = $site_path . '/' . $conf_file;
+        if (file_exists($full_path) && !drupal_verify_install_file($full_path, FILE_EXIST | FILE_READABLE | FILE_NOT_WRITABLE)) {
+          $conf_errors[] = t("The file %file is not protected from modifications and poses a security risk. You must change the file's permissions to be non-writable.", ['%file' => $full_path]);
+        }
       }
     }
     if (!empty($conf_errors)) {
diff --git a/core/modules/system/tests/src/Functional/System/SitesDirectoryHardeningTest.php b/core/modules/system/tests/src/Functional/System/SitesDirectoryHardeningTest.php
index fbe97f4dab..e8c7df2bbf 100644
--- a/core/modules/system/tests/src/Functional/System/SitesDirectoryHardeningTest.php
+++ b/core/modules/system/tests/src/Functional/System/SitesDirectoryHardeningTest.php
@@ -55,7 +55,7 @@ public function testSitesDirectoryHardeningConfig() {
     // Manually trigger the requirements check.
     $requirements = $this->checkSystemRequirements();
     $this->assertEqual(REQUIREMENT_WARNING, $requirements['configuration_files']['severity'], 'Warning severity is properly set.');
-    $this->assertEqual($this->t('Protection disabled'), (string) $requirements['configuration_files']['description']['#context']['configuration_error_list']['#items'][0], 'Description is properly set.');
+    $this->assertEqual($this->t('Protection disabled'), (string) $requirements['configuration_files']['description'], 'Description is properly set.');
 
     $this->assertTrue(is_writable($site_path), 'Site directory remains writable when automatically fixing permissions is disabled.');
     $this->assertTrue(is_writable($settings_file), 'settings.php remains writable when automatically fixing permissions is disabled.');
