diff --git a/core/modules/ckeditor/src/Tests/CKEditorAdminTest.php b/core/modules/ckeditor/src/Tests/CKEditorAdminTest.php
index ca1954f..35655a1 100644
--- a/core/modules/ckeditor/src/Tests/CKEditorAdminTest.php
+++ b/core/modules/ckeditor/src/Tests/CKEditorAdminTest.php
@@ -218,6 +218,21 @@ function testExistingFormat() {
     $editor = entity_load('editor', 'filtered_html');
     $this->assertTrue($editor instanceof Editor, 'An Editor config entity exists.');
     $this->assertIdentical($expected_settings, $editor->getSettings());
+
+    $this->drupalGet('admin/config/content/formats/add');
+    // Now attempt to add another filter format with the same editor and same
+    // machine name.
+    $edit = array(
+      'format' => 'filtered_html',
+      'name' => 'Filtered HTML',
+      'editor[editor]' => 'ckeditor',
+    );
+    $this->drupalPostAjaxForm(NULL, $edit, 'editor_configure');
+    $this->assertResponse(200);
+    $this->assertText('1 error has been found');
+    $this->drupalPostForm(NULL, $edit, t('Save configuration'));
+    $this->assertResponse(200);
+    $this->assertText(t('The machine-readable name is already in use. It must be unique.'));
   }
 
   /**
diff --git a/core/modules/editor/editor.module b/core/modules/editor/editor.module
index 18d0fb8..d03eb0e 100644
--- a/core/modules/editor/editor.module
+++ b/core/modules/editor/editor.module
@@ -123,7 +123,7 @@ function editor_form_filter_format_form_alter(&$form, FormStateInterface $form_s
     '#type' => 'submit',
     '#name' => 'editor_configure',
     '#value' => t('Configure'),
-    '#limit_validation_errors' => array(array('editor')),
+    '#limit_validation_errors' => array(array('editor'), array('format')),
     '#submit' => array('editor_form_filter_admin_format_editor_configure'),
     '#ajax' => array(
       'callback' => 'editor_form_filter_admin_form_ajax',
diff --git a/core/modules/editor/src/Tests/EditorAdminTest.php b/core/modules/editor/src/Tests/EditorAdminTest.php
index bc25912..b4a9966 100644
--- a/core/modules/editor/src/Tests/EditorAdminTest.php
+++ b/core/modules/editor/src/Tests/EditorAdminTest.php
@@ -81,7 +81,8 @@ public function testAddEditorToExistingFormat() {
     $this->enableUnicornEditor();
     $this->drupalLogin($this->adminUser);
     $this->drupalGet('admin/config/content/formats/manage/filtered_html');
-    $edit = $this->selectUnicornEditor();
+    $edit = [];
+    $this->selectUnicornEditor($edit);
     // Configure Unicorn Editor's setting to another value.
     $edit['editor[settings][ponies_too]'] = FALSE;
     $this->drupalPostForm(NULL, $edit, t('Save configuration'));
@@ -171,7 +172,7 @@ protected function addEditorToNewFormat($format_id, $format_name) {
       'name' => $format_name,
       'format' => $format_id,
     );
-    $edit += $this->selectUnicornEditor();
+    $edit += $this->selectUnicornEditor($edit);
     $this->drupalPostForm(NULL, $edit, t('Save configuration'));
   }
 
@@ -187,10 +188,13 @@ protected function enableUnicornEditor() {
   /**
    * Tests and selects the unicorn editor.
    *
+   * @param array $edit
+   *   The edit array passed by reference.
+   *
    * @return array
    *   Returns an edit array containing the values to be posted.
    */
-  protected function selectUnicornEditor() {
+  protected function selectUnicornEditor(&$edit) {
     // Verify the <select> when a text editor is available.
     $select = $this->xpath('//select[@name="editor[editor]"]');
     $select_is_disabled = $this->xpath('//select[@name="editor[editor]" and @disabled="disabled"]');
@@ -205,7 +209,7 @@ protected function selectUnicornEditor() {
     $this->assertNoRaw(t('This option is disabled because no modules that provide a text editor are currently enabled.'), 'Description for select absent that tells users to install a text editor module.');
 
     // Select the "Unicorn Editor" editor and click the "Configure" button.
-    $edit = array(
+    $edit += array(
       'editor[editor]' => 'unicorn',
     );
     $this->drupalPostAjaxForm(NULL, $edit, 'editor_configure');
