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..9fe217c
--- /dev/null
+++ b/core/modules/field_layout/tests/modules/field_layout_test/field_layout_test.module
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * @file
+ * Functions for Field Layout tests.
+ */
+
+/**
+ * Implements hook_theme_suggestions_alter().
+ */
+function field_layout_test_theme_suggestions_alter(array &$suggestions, array $variables, $hook) {
+  if (isset($_GET['test_layout_theme_suggestion']) && $variables['theme_hook_original'] == 'layout__twocol') {
+    $suggestions[] = 'layout__twocol__suggestion';
+  }
+}
diff --git a/core/modules/field_layout/tests/modules/field_layout_test/field_layout_test.services.yml b/core/modules/field_layout/tests/modules/field_layout_test/field_layout_test.services.yml
new file mode 100644
index 0000000..b34f328
--- /dev/null
+++ b/core/modules/field_layout/tests/modules/field_layout_test/field_layout_test.services.yml
@@ -0,0 +1,5 @@
+services:
+  field_layout_test.theme.negotiator:
+    class: Drupal\field_layout_test\Theme\Negotiate
+    tags:
+      - { name: theme_negotiator, priority: 100 }
diff --git a/core/modules/field_layout/tests/modules/field_layout_test/src/Theme/Negotiate.php b/core/modules/field_layout/tests/modules/field_layout_test/src/Theme/Negotiate.php
new file mode 100644
index 0000000..6c026ee
--- /dev/null
+++ b/core/modules/field_layout/tests/modules/field_layout_test/src/Theme/Negotiate.php
@@ -0,0 +1,24 @@
+<?php
+
+namespace Drupal\field_layout_test\Theme;
+
+use Drupal\Core\Routing\RouteMatchInterface;
+use Drupal\Core\Theme\ThemeNegotiatorInterface;
+
+class Negotiate implements ThemeNegotiatorInterface {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function applies(RouteMatchInterface $route_match) {
+    return !empty($_GET['test_layout_theme_suggestion']);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function determineActiveTheme(RouteMatchInterface $route_match) {
+    return 'field_layout_theme_test';
+  }
+
+}
diff --git a/core/modules/field_layout/tests/src/FunctionalJavascript/FieldLayoutTest.php b/core/modules/field_layout/tests/src/FunctionalJavascript/FieldLayoutTest.php
index a0fd13c..112dd19 100644
--- a/core/modules/field_layout/tests/src/FunctionalJavascript/FieldLayoutTest.php
+++ b/core/modules/field_layout/tests/src/FunctionalJavascript/FieldLayoutTest.php
@@ -23,6 +23,8 @@ class FieldLayoutTest extends JavascriptTestBase {
   protected function setUp() {
     parent::setUp();
 
+    $this->container->get('theme_installer')->install(['field_layout_theme_test']);
+
     $entity = EntityTest::create([
       'name' => 'The name for this entity',
       'field_test_text' => [[
@@ -191,6 +193,10 @@ public function testEntityView() {
     $this->drupalGet('entity_test/1');
     $this->assertSession()->elementExists('css', '.layout--twocol');
     $this->assertSession()->elementExists('css', '.layout-region--right .field--name-field-test-text');
+
+    // Test theme suggestion.
+    $this->drupalGet('entity_test/1', ['query' => ['test_layout_theme_suggestion' => 1]]);
+    $this->assertSession()->pageTextContains('Layout two col suggestion');
   }
 
   /**
diff --git a/core/modules/field_layout/tests/themes/field_layout_theme_test/field_layout_theme_test.info.yml b/core/modules/field_layout/tests/themes/field_layout_theme_test/field_layout_theme_test.info.yml
new file mode 100644
index 0000000..53252b8
--- /dev/null
+++ b/core/modules/field_layout/tests/themes/field_layout_theme_test/field_layout_theme_test.info.yml
@@ -0,0 +1,5 @@
+name: Field Layout Theme Test
+type: theme
+description: 'Support theme for Field Layout tests.'
+version: VERSION
+core: 8.x
diff --git a/core/modules/field_layout/tests/themes/field_layout_theme_test/templates/layout--twocol--suggestion.html.twig b/core/modules/field_layout/tests/themes/field_layout_theme_test/templates/layout--twocol--suggestion.html.twig
new file mode 100644
index 0000000..add3bb3
--- /dev/null
+++ b/core/modules/field_layout/tests/themes/field_layout_theme_test/templates/layout--twocol--suggestion.html.twig
@@ -0,0 +1,39 @@
+{#
+/**
+ * @file
+ * Default theme implementation to display a two-column layout.
+ *
+ * Available variables:
+ * - content: The content for this layout.
+ * - attributes: HTML attributes for the layout <div>.
+ *
+ * @ingroup themeable
+ */
+#}
+{%
+set classes = [
+'layout--twocol',
+]
+%}
+{% if content %}
+
+  <h2>Layout two col suggestion</h2>
+
+  <div{{ attributes.addClass(classes) }}>
+    <div class="layout-region layout-region--fullwidth">
+      {{ content.top }}
+    </div>
+
+    <div class="layout-region layout-region--left">
+      {{ content.left }}
+    </div>
+
+    <div class="layout-region layout-region--right">
+      {{ content.right }}
+    </div>
+
+    <div class="layout-region layout-region--fullwidth">
+      {{ content.bottom }}
+    </div>
+  </div>
+{% endif %}
