diff --git a/src/Element/EntityBrowserElement.php b/src/Element/EntityBrowserElement.php
index 00840aa2b..320e34075 100644
--- a/src/Element/EntityBrowserElement.php
+++ b/src/Element/EntityBrowserElement.php
@@ -164,6 +164,7 @@ function (EntityInterface $item) {
     $display->setUuid(sha1(implode('-', array_merge([$complete_form['#build_id']], $element['#parents']))));
     $element['entity_browser'] = [
       '#eb_parents' => array_merge($element['#parents'], ['entity_browser']),
+      '#cardinality' => isset($element['##cardinality']) ? $element['##cardinality'] : NULL,
     ];
     $element['entity_browser'] = $display->displayEntityBrowser(
       $element['entity_browser'],
diff --git a/src/Plugin/EntityBrowser/Widget/View.php b/src/Plugin/EntityBrowser/Widget/View.php
index 2e75b2d91..4543d803b 100644
--- a/src/Plugin/EntityBrowser/Widget/View.php
+++ b/src/Plugin/EntityBrowser/Widget/View.php
@@ -204,7 +204,13 @@ public function validate(array &$form, FormStateInterface $form_state) {
    * {@inheritdoc}
    */
   protected function prepareEntities(array $form, FormStateInterface $form_state) {
-    $selected_rows = array_values(array_filter($form_state->getUserInput()['entity_browser_select']));
+    if (is_array($form_state->getUserInput()['entity_browser_select'])) {
+      $selected_rows = array_values(array_filter($form_state->getUserInput()['entity_browser_select']));
+    }
+    else {
+      $selected_rows = [$form_state->getUserInput()['entity_browser_select']];
+    }
+
     $entities = [];
     foreach ($selected_rows as $row) {
       list($type, $id) = explode(':', $row);
diff --git a/src/Plugin/views/field/SelectForm.php b/src/Plugin/views/field/SelectForm.php
index d498082b8..f0302bb90 100644
--- a/src/Plugin/views/field/SelectForm.php
+++ b/src/Plugin/views/field/SelectForm.php
@@ -2,6 +2,7 @@
 
 namespace Drupal\entity_browser\Plugin\views\field;
 
+use Drupal\Core\Form\FormStateInterface;
 use Drupal\views\Plugin\views\field\FieldPluginBase;
 use Drupal\views\Plugin\views\style\Table;
 use Drupal\views\ResultRow;
@@ -15,6 +16,32 @@
 class SelectForm extends FieldPluginBase {
 
   /**
+   * {@inheritdoc}
+   */
+  protected function defineOptions() {
+    $options = parent::defineOptions();
+    $options['multiple'] = [
+      'default' => TRUE,
+    ];
+
+    return $options;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function buildOptionsForm(&$form, FormStateInterface $form_state) {
+    parent::buildOptionsForm($form, $form_state);
+
+    $form['multiple'] = [
+      '#type' => 'checkbox',
+      '#title' => t('Allow to select multiple elements'),
+      '#default_value' => $this->options['multiple'],
+    ];
+  }
+
+
+  /**
    * Returns the ID for a result row.
    *
    * @param \Drupal\views\ResultRow $row
@@ -74,6 +101,12 @@ public function viewsForm(&$render) {
           '#attributes' => ['name' => "entity_browser_select[$value]"],
           '#default_value' => NULL,
         ];
+
+        if (!$this->options['multiple']) {
+          $render[$this->options['id']][$value]['#type'] = 'radio';
+          $render[$this->options['id']][$value]['#parents'] = ['entity_browser_select'];
+          unset($render[$this->options['id']][$value]['#attributes']['name']);
+        }
       }
     }
   }
