diff --git a/core/modules/field_ui/field_ui.js b/core/modules/field_ui/field_ui.js
index 81761ed..30e983a 100644
--- a/core/modules/field_ui/field_ui.js
+++ b/core/modules/field_ui/field_ui.js
@@ -268,7 +268,7 @@ else if ($this.is('.region-empty')) {
     this.defaultPlugin = data.defaultPlugin;
 
     // Attach change listener to the 'plugin type' select.
-    this.$pluginSelect = $(row).find('select.field-plugin-type');
+    this.$pluginSelect = $(row).find('.field-plugin-type');
     this.$pluginSelect.on('change', Drupal.fieldUIOverview.onChange);
 
     // Attach change listener to the 'region' select.
diff --git a/core/modules/field_ui/src/Form/EntityDisplayFormBase.php b/core/modules/field_ui/src/Form/EntityDisplayFormBase.php
index 42a4e81..62a46b1 100644
--- a/core/modules/field_ui/src/Form/EntityDisplayFormBase.php
+++ b/core/modules/field_ui/src/Form/EntityDisplayFormBase.php
@@ -497,7 +497,14 @@ protected function buildExtraFieldRow($field_id, $extra_field) {
         '#default_value' => $display_options ? $display_options['region'] : 'hidden',
         '#attributes' => ['class' => ['field-region']],
       ],
-      'plugin' => [],
+      'plugin' => [
+        'type' => [
+          '#type' => 'hidden',
+          '#value' => $display_options ? 'visible' : 'hidden',
+          '#parents' => ['fields', $field_id, 'type'],
+          '#attributes' => ['class' => ['field-plugin-type']],
+        ],
+      ],
       'settings_summary' => [],
       'settings_edit' => [],
     ];
diff --git a/core/modules/field_ui/tests/src/FunctionalJavascript/EntityDisplayTest.php b/core/modules/field_ui/tests/src/FunctionalJavascript/EntityDisplayTest.php
index 319e8df..6da3c41 100644
--- a/core/modules/field_ui/tests/src/FunctionalJavascript/EntityDisplayTest.php
+++ b/core/modules/field_ui/tests/src/FunctionalJavascript/EntityDisplayTest.php
@@ -86,4 +86,21 @@ public function testEntityView() {
     $this->assertSession()->elementExists('css', '.field--name-field-test-text');
   }
 
+  /**
+   * Tests extra fields.
+   */
+  public function testExtraFields() {
+    entity_test_create_bundle('bundle_with_extra_fields');
+    $this->drupalGet('entity_test/structure/bundle_with_extra_fields/display');
+
+    $extra_field_row = $this->getSession()->getPage()->find('css', '#display-extra-field');
+    $disabled_region_row = $this->getSession()->getPage()->find('css', '.region-hidden-title');
+
+    $extra_field_row->find('css', '.handle')->dragTo($disabled_region_row);
+    $this->assertSession()->assertWaitOnAjaxRequest();
+
+    $this->submitForm([], 'Save');
+    $this->assertSession()->pageTextContains('Your settings have been saved.');
+  }
+
 }
