diff --git a/core/modules/views_ui/admin.inc b/core/modules/views_ui/admin.inc
index 1187be5e813e71c86c242fe1deeb9c7fe5bd5c43..6170ed4f846adf8fef70df02e92ec38adce5ebd9 100644
--- a/core/modules/views_ui/admin.inc
+++ b/core/modules/views_ui/admin.inc
@@ -315,7 +315,7 @@ function views_ui_build_form_url(FormStateInterface $form_state) {
 function views_ui_form_button_was_clicked($element, FormStateInterface $form_state) {
   $user_input = $form_state->getUserInput();
   $process_input = empty($element['#disabled']) && ($form_state->isProgrammed() || ($form_state->isProcessingInput() && (!isset($element['#access']) || $element['#access'])));
-  if ($process_input && !$form_state->getTriggeringElement() && !empty($element['#is_button']) && isset($user_input[$element['#name']]) && isset($element['#values']) && in_array($user_input[$element['#name']], $element['#values'], TRUE)) {
+  if ($process_input && !$form_state->getTriggeringElement() && !empty($element['#is_button']) && isset($user_input[$element['#name']]) && isset($element['#values']) && in_array($user_input[$element['#name']], array_map('strval', $element['#values']), TRUE)) {
     $form_state->setTriggeringElement($element);
   }
   return $element;
diff --git a/core/modules/views_ui/src/Tests/DisplayTest.php b/core/modules/views_ui/src/Tests/DisplayTest.php
index ff7ca81f28735c0d36c0930f6d4091fa251ead77..4fab7d893f72dc5a2d22385ee8e79f36b3481605 100644
--- a/core/modules/views_ui/src/Tests/DisplayTest.php
+++ b/core/modules/views_ui/src/Tests/DisplayTest.php
@@ -34,6 +34,26 @@ class DisplayTest extends UITestBase {
    */
   public static $modules = array('contextual');
 
+  /**
+   * Tests adding a display.
+   */
+  public function testAddDisplay() {
+    $view = $this->randomView();
+    $this->assertNoText('Block');
+    $this->assertNoText('Block 2');
+
+    $this->drupalPostForm(NULL, [], t('Add @display', ['@display' => 'Block']));
+    $this->assertText('Block');
+    $this->assertNoText('Block 2');
+
+    // Views has special form handling in views_ui_form_button_was_clicked()
+    // to be able to change the submit button text via JS, this simulates what
+    // the JS is doing.
+    $this->drupalPostForm(NULL, [], NULL, [], [], NULL, '&op=Block');
+    $this->assertText('Block');
+    $this->assertText('Block 2');
+  }
+
   /**
    * Tests reordering of displays.
    */