diff --git a/modules/ui_patterns_layouts/src/Plugin/Layout/PatternLayout.php b/modules/ui_patterns_layouts/src/Plugin/Layout/PatternLayout.php
index 648d76760de94bf9fe3f195799e5a43c5752e5ee..fcbddd8aebf250cffb06d098e8808b7652778d6c 100644
--- a/modules/ui_patterns_layouts/src/Plugin/Layout/PatternLayout.php
+++ b/modules/ui_patterns_layouts/src/Plugin/Layout/PatternLayout.php
@@ -3,17 +3,18 @@
 namespace Drupal\ui_patterns_layouts\Plugin\Layout;
 
 use Drupal\Core\Form\FormStateInterface;
+use Drupal\Core\Layout\LayoutDefault;
 use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
-use Drupal\layout_plugin\Plugin\Layout\LayoutBase;
+use Drupal\Core\Plugin\PluginFormInterface;
 use Drupal\ui_patterns\UiPatternsManager;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
  * Class LayoutDefault.
  *
- * @package Drupal\layout_plugin\Plugin\Layout
+ * @package Drupal\ui_patterns_layouts\Plugin\Layout
  */
-class PatternLayout extends LayoutBase implements ContainerFactoryPluginInterface {
+class PatternLayout extends LayoutDefault implements PluginFormInterface, ContainerFactoryPluginInterface {
 
   /**
    * Pattern manager service.
@@ -91,8 +92,8 @@ class PatternLayout extends LayoutBase implements ContainerFactoryPluginInterfac
    * {@inheritdoc}
    */
   public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
-    $form = parent::buildConfigurationForm($form, $form_state);
     $configuration = $this->getConfiguration();
+    $form = [];
 
     $form['pattern'] = [
       '#group' => 'additional_settings',
@@ -117,6 +118,19 @@ class PatternLayout extends LayoutBase implements ContainerFactoryPluginInterfac
     return $form;
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function validateConfigurationForm(array &$form, FormStateInterface $form_state) {
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function submitConfigurationForm(array &$form, FormStateInterface $form_state) {
+    $this->configuration = $form_state->getValues();
+  }
+
   /**
    * Remove default field template if "Only content" option has been selected.
    *
diff --git a/modules/ui_patterns_layouts/ui_patterns_layouts.info.yml b/modules/ui_patterns_layouts/ui_patterns_layouts.info.yml
index 05ed6ab45c987733179f06da52a19e1ef199464e..400df99101bd971015c618d9bd3984dbfd6f1553 100644
--- a/modules/ui_patterns_layouts/ui_patterns_layouts.info.yml
+++ b/modules/ui_patterns_layouts/ui_patterns_layouts.info.yml
@@ -4,5 +4,5 @@ description: Use patterns as layout plugins.
 core: 8.x
 package: User interface
 dependencies:
-  - layout_plugin
+  - layout_discovery
   - ui_patterns
diff --git a/modules/ui_patterns_layouts/ui_patterns_layouts.module b/modules/ui_patterns_layouts/ui_patterns_layouts.module
index abc29c592b1a0cf999a6527de3939dca9c7e52db..b0a07b9d3b150b544b0b3911e424c8557faabf52 100644
--- a/modules/ui_patterns_layouts/ui_patterns_layouts.module
+++ b/modules/ui_patterns_layouts/ui_patterns_layouts.module
@@ -6,6 +6,7 @@
  */
 
 use Drupal\ui_patterns\Element\PatternContext;
+use Drupal\Core\Layout\LayoutDefinition;
 
 /**
  * Implements hook_layout_alter().
@@ -21,14 +22,12 @@ function ui_patterns_layouts_layout_alter(&$definitions) {
       'category' => 'Patterns',
       'class' => '\Drupal\ui_patterns_layouts\Plugin\Layout\PatternLayout',
       'pattern' => $pattern_definition['id'],
-      'path' => '',
-      'template_path' => NULL,
+      'template' => 'pattern-' . $pattern_definition['id'],
     ];
     foreach ($pattern_definition['fields'] as $field_name => $field) {
       $definition['regions'][$field_name]['label'] = $field['label'];
-      $definition['region_names'][$field_name] = $field['label'];
     }
-    $definitions['pattern_' . $pattern_definition['id']] = $definition;
+    $definitions['pattern_' . $pattern_definition['id']] = new LayoutDefinition($definition);
   }
 }