diff --git a/core/modules/field_layout/tests/modules/field_layout_test/field_layout_test.module b/core/modules/field_layout/tests/modules/field_layout_test/field_layout_test.module
new file mode 100644
index 0000000..6905c3d
--- /dev/null
+++ b/core/modules/field_layout/tests/modules/field_layout_test/field_layout_test.module
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * @file
+ * Contains hook implementations for field_layout_test.
+ */
+
+/**
+ * Implements hook_layout_alter().
+ */
+function field_layout_test_layout_alter(&$definitions) {
+  /** @var \Drupal\Core\Layout\LayoutDefinition[] $definitions */
+  if (\Drupal::state()->get('field_layout_test.alter_regions') && isset($definitions['layout_onecol'])) {
+    $definitions['layout_onecol']->setRegions(['foo' => ['label' => 'Foo']]);
+  }
+}
diff --git a/core/modules/field_layout/tests/src/Functional/FieldLayoutTest.php b/core/modules/field_layout/tests/src/Functional/FieldLayoutTest.php
index 683ccd2..aa27b88 100644
--- a/core/modules/field_layout/tests/src/Functional/FieldLayoutTest.php
+++ b/core/modules/field_layout/tests/src/Functional/FieldLayoutTest.php
@@ -14,7 +14,7 @@ class FieldLayoutTest extends BrowserTestBase {
   /**
    * {@inheritdoc}
    */
-  public static $modules = ['field_layout', 'field_ui', 'node'];
+  public static $modules = ['field_layout', 'field_ui', 'node', 'field_layout_test'];
 
   /**
    * {@inheritdoc}
@@ -58,6 +58,22 @@ public function testNodeView() {
   }
 
   /**
+   * Tests that changes to the regions still leave the fields visible.
+   */
+  public function testRegionChanges() {
+    $this->drupalGet('admin/structure/types/manage/article/display');
+    $this->assertEquals(['Content', 'Disabled'], $this->getRegionTitles());
+    $this->assertSession()->optionExists('fields[body][region]', 'content');
+
+    \Drupal::state()->set('field_layout_test.alter_regions', TRUE);
+    \Drupal::service('plugin.cache_clearer')->clearCachedDefinitions();
+
+    $this->drupalGet('admin/structure/types/manage/article/display');
+    $this->assertEquals(['Foo', 'Disabled'], $this->getRegionTitles());
+    $this->assertSession()->optionExists('fields[body][region]', 'disabled');
+  }
+
+  /**
    * Gets the region titles on the page.
    *
    * @return string[]
