diff --git a/core/includes/update.inc b/core/includes/update.inc
index 863c994..272d67d 100644
--- a/core/includes/update.inc
+++ b/core/includes/update.inc
@@ -250,6 +250,30 @@ function update_fix_d8_requirements() {
 
   if (drupal_get_installed_schema_version('system') < 8000 && !variable_get('update_d8_requirements', FALSE)) {
     // @todo: Make critical, first-run changes to the database here.
+    // We are using simple test so don't up the settings file.
+    if (!drupal_valid_test_ua()) {
+      $settings['config_signature_key'] = array(
+        'value'    => drupal_hash_base64(drupal_random_bytes(55)),
+        'required' => TRUE,
+      );
+
+      $settings['config_directory_name'] = array(
+        'value'     => 'config_' . drupal_hmac_base64('', session_id() . $settings['config_signature_key']['value'] . variable_get('drupal_hash_salt', FALSE)),
+        'required'  => TRUE,
+      );
+
+      drupal_rewrite_settings($settings);
+      // Actually create the config directory named above.
+      $config_path = conf_path() . '/files/' . $settings['config_directory_name']['value'];
+      if (!file_prepare_directory($config_path, FILE_CREATE_DIRECTORY)) {
+        // How best to handle errors here?
+      };
+
+      // Write out a .htaccess file that will protect the config directory from
+      // prying eyes.
+      file_save_htaccess($config_path, TRUE);
+    }
+
     variable_set('update_d8_requirements', TRUE);
   }
 }
