diff --git a/config/vufind/searches.ini b/config/vufind/searches.ini
index 6341a3261943b954020636debbf9db68a504c29e..43d556a90c0c8c452ada30c94148c8b83c01046d 100644
--- a/config/vufind/searches.ini
+++ b/config/vufind/searches.ini
@@ -502,6 +502,8 @@ sort = "last_indexed desc"
 enabled = true
 ; This handler will be used for all search types not covered by [Autocomplete_Types]
 default_handler = Solr
+; Auto-submit autocomplete on click or enter
+auto_submit = true
 
 ; In this section, set the key equal to a search handler from searchspecs.yaml and
 ; the value equal to an autocomplete handler in order to customize autocompletion
diff --git a/module/VuFind/src/VuFind/Search/Base/Options.php b/module/VuFind/src/VuFind/Search/Base/Options.php
index 9e30bf8e117dcb271d21d8ead18bdfae22004d98..4efcedbd2f8b9ccb03c934433468dbd325ca1257 100644
--- a/module/VuFind/src/VuFind/Search/Base/Options.php
+++ b/module/VuFind/src/VuFind/Search/Base/Options.php
@@ -226,6 +226,13 @@ abstract class Options implements TranslatorAwareInterface
      */
     protected $autocompleteEnabled = false;
 
+    /**
+     * Autocomplete auto submit setting
+     *
+     * @var bool
+     */
+    protected $autocompleteAutoSubmit = false;
+
     /**
      * Configuration file to read global settings from
      *
@@ -709,6 +716,16 @@ abstract class Options implements TranslatorAwareInterface
         return $this->autocompleteEnabled;
     }
 
+    /**
+     * Should autocomplete auto submit?
+     *
+     * @return bool
+     */
+    public function autocompleteAutoSubmit()
+    {
+        return $this->autocompleteAutoSubmit;
+    }
+
     /**
      * Get a string of the listviewOption (full or tab).
      *
diff --git a/module/VuFind/src/VuFind/Search/EDS/Options.php b/module/VuFind/src/VuFind/Search/EDS/Options.php
index b14e00526eb0542f71e8767caa12c4b90722739d..2edae2858ff3790d0cd80b4bf638ddacb8c6ec17 100644
--- a/module/VuFind/src/VuFind/Search/EDS/Options.php
+++ b/module/VuFind/src/VuFind/Search/EDS/Options.php
@@ -137,10 +137,13 @@ class Options extends \VuFind\Search\Base\Options
                 $facetConf->Advanced_Facet_Settings->translated_facets->toArray()
             );
         }
-        // Load autocomplete preference:
+        // Load autocomplete preferences:
         if (isset($searchSettings->Autocomplete->enabled)) {
             $this->autocompleteEnabled = $searchSettings->Autocomplete->enabled;
         }
+        if (isset($searchSettings->Autocomplete->auto_submit)) {
+            $this->autocompleteAutoSubmit = $searchSettings->Autocomplete->auto_submit;
+        }
     }
 
     /**
diff --git a/module/VuFind/src/VuFind/Search/Solr/Options.php b/module/VuFind/src/VuFind/Search/Solr/Options.php
index 760b81e44b2d62026cd2f4ae58b7591697df8870..0b25383c2e1bb4c917c1246673457b7af21d01a5 100644
--- a/module/VuFind/src/VuFind/Search/Solr/Options.php
+++ b/module/VuFind/src/VuFind/Search/Solr/Options.php
@@ -208,10 +208,13 @@ class Options extends \VuFind\Search\Base\Options
             $this->highlight = true;
         }
 
-        // Load autocomplete preference:
+        // Load autocomplete preferences:
         if (isset($searchSettings->Autocomplete->enabled)) {
             $this->autocompleteEnabled = $searchSettings->Autocomplete->enabled;
         }
+        if (isset($searchSettings->Autocomplete->auto_submit)) {
+            $this->autocompleteAutoSubmit = $searchSettings->Autocomplete->auto_submit;
+        }
 
         // Load shard settings
         if (isset($searchSettings->IndexShards)
diff --git a/module/VuFind/src/VuFind/View/Helper/Root/SearchBox.php b/module/VuFind/src/VuFind/View/Helper/Root/SearchBox.php
index 87f8bcb5d8b90565fd2ddf1408681d44deb5ea92..6e0eb666f4eadfa25121a31b8c0dd3395c6874d4 100644
--- a/module/VuFind/src/VuFind/View/Helper/Root/SearchBox.php
+++ b/module/VuFind/src/VuFind/View/Helper/Root/SearchBox.php
@@ -126,6 +126,19 @@ class SearchBox extends \Zend\View\Helper\AbstractHelper
         return false;
     }
 
+    /**
+     * Is autocomplete enabled for the current context?
+     *
+     * @param string $activeSearchClass Active search class ID
+     *
+     * @return bool
+     */
+    public function autocompleteAutoSubmit($activeSearchClass)
+    {
+        $options = $this->optionsManager->get($activeSearchClass);
+        return $options->autocompleteAutoSubmit();
+    }
+
     /**
      * Are alphabrowse options configured to display in the search options
      * drop-down?
diff --git a/themes/bootstrap3/js/common.js b/themes/bootstrap3/js/common.js
index 24cb458c1754ffa815a92bb3fa24ccfa5b1b5466..8496fc33bfa5420e1b2dcc9952cf01f59955b472 100644
--- a/themes/bootstrap3/js/common.js
+++ b/themes/bootstrap3/js/common.js
@@ -246,17 +246,22 @@ function setupAutocomplete() {
   if (searchbox.length < 1) {
     return;
   }
+  // Auto-submit based on config
+  var acCallback = function ac_cb_noop() {};
+  if (searchbox.hasClass("ac-auto-submit")) {
+    acCallback = function autoSubmitAC(item, input) {
+      input.val(item.value);
+      $("#searchForm").submit();
+      return false;
+    };
+  }
   // Search autocomplete
   searchbox.autocomplete({
     rtl: $(document.body).hasClass("rtl"),
     maxResults: 10,
     loadingString: VuFind.translate('loading') + '...',
     // Auto-submit selected item
-    callback: function autoSubmitAC(item, input) {
-      input.val(item.value);
-      $("#searchForm").submit();
-      return false;
-    },
+    callback: acCallback,
     // AJAX call for autocomplete results
     handler: function vufindACHandler(input, cb) {
       var query = input.val();
diff --git a/themes/bootstrap3/templates/search/searchbox.phtml b/themes/bootstrap3/templates/search/searchbox.phtml
index 78d57f6b44dd306770f70ef7c1c0d65d1d985e93..f0f9470c95c71cf6cf337b675a3728bc3d9055a6 100644
--- a/themes/bootstrap3/templates/search/searchbox.phtml
+++ b/themes/bootstrap3/templates/search/searchbox.phtml
@@ -44,7 +44,7 @@
   <form id="searchForm" class="searchForm navbar-form navbar-left flip" method="get" action="<?=$this->url($basicSearch)?>" name="searchForm" autocomplete="off">
     <?= $this->context($this)->renderInContext('search/searchTabs', ['searchTabs' => $tabConfig['tabs']]); ?>
     <?php $placeholder = $this->searchbox()->getPlaceholderText($tabConfig['selected']['id'] ?? null); ?>
-    <input id="searchForm_lookfor" class="searchForm_lookfor form-control search-query<?php if($this->searchbox()->autocompleteEnabled($this->searchClassId)):?> autocomplete searcher:<?=$this->escapeHtmlAttr($this->searchClassId) ?><?php endif ?>" type="text" name="lookfor" value="<?=$this->escapeHtmlAttr($this->lookfor)?>"<?php if ($placeholder): ?> placeholder="<?=$this->transEsc($placeholder) ?>"<?php endif ?> aria-label="<?=$this->transEsc("search_terms")?>" />
+    <input id="searchForm_lookfor" class="searchForm_lookfor form-control search-query<?php if($this->searchbox()->autocompleteEnabled($this->searchClassId)):?> autocomplete searcher:<?=$this->escapeHtmlAttr($this->searchClassId) ?><?=$this->searchbox()->autocompleteAutoSubmit($this->searchClassId) ? ' ac-auto-submit' : '' ?><?php endif ?>" type="text" name="lookfor" value="<?=$this->escapeHtmlAttr($this->lookfor)?>"<?php if ($placeholder): ?> placeholder="<?=$this->transEsc($placeholder) ?>"<?php endif ?> aria-label="<?=$this->transEsc("search_terms")?>" />
     <?php if ($handlerCount > 1): ?>
       <select id="searchForm_type" class="searchForm_type form-control" name="type" data-native-menu="false" aria-label="<?=$this->transEsc("Search type")?>">
         <?php foreach ($handlers as $handler): ?>