diff --git a/src/Plugin/EntityBrowser/SelectionDisplay/NoDisplay.php b/src/Plugin/EntityBrowser/SelectionDisplay/NoDisplay.php
index 7770166..05d8843 100644
--- a/src/Plugin/EntityBrowser/SelectionDisplay/NoDisplay.php
+++ b/src/Plugin/EntityBrowser/SelectionDisplay/NoDisplay.php
@@ -28,7 +28,11 @@ class NoDisplay extends SelectionDisplayBase {
    * {@inheritdoc}
    */
   public function submit(array &$form, FormStateInterface $form_state) {
-    $this->selectionDone($form_state);
+    // Only finish selection if the form was submitted using main submit
+    // element. This allows widgets to build multi-step workflows.
+    if (!empty($form_state->getTriggeringElement()['#eb_widget_main_submit'])) {
+      $this->selectionDone($form_state);
+    }
   }
 
 }
