diff --git a/core/modules/views/js/ajax_view.js b/core/modules/views/js/ajax_view.js
index 1b9f1189ce9a464ad6fa1b88b1b597f9ef14ae92..edfba50c0b70af1f19db45aadd5f52f635821608 100644
--- a/core/modules/views/js/ajax_view.js
+++ b/core/modules/views/js/ajax_view.js
@@ -108,14 +108,15 @@
    * @method
    */
   Drupal.views.ajaxView.prototype.attachExposedFormAjax = function () {
-    var button = $('input[type=submit], input[type=image]', this.$exposed_form);
-    button = button[0];
-
-    var self_settings = $.extend({}, this.element_settings, {
-      base: $(button).attr('id'),
-      element: button
+    var that = this;
+    this.exposedFormAjax = [];
+    $('input[type=submit], input[type=image]', this.$exposed_form).each(function (index) {
+      var self_settings = $.extend({}, that.element_settings, {
+        base: $(this).attr('id'),
+        element: this
+      });
+      that.exposedFormAjax[index] = Drupal.ajax(self_settings);
     });
-    this.exposedFormAjax = Drupal.ajax(self_settings);
   };
 
   /**
diff --git a/core/modules/views/src/Plugin/views/exposed_form/ExposedFormPluginBase.php b/core/modules/views/src/Plugin/views/exposed_form/ExposedFormPluginBase.php
index 11a3e2d710e1469b96a12925aabab51c33d6745f..d17f70c7828e98b34a14e75b2368352782f5c769 100644
--- a/core/modules/views/src/Plugin/views/exposed_form/ExposedFormPluginBase.php
+++ b/core/modules/views/src/Plugin/views/exposed_form/ExposedFormPluginBase.php
@@ -321,7 +321,7 @@ public function resetForm(&$form, FormStateInterface $form_state) {
     }
 
     // Set the form to allow redirect.
-    if (empty($this->view->live_preview)) {
+    if (empty($this->view->live_preview) && !\Drupal::request()->isXmlHttpRequest()) {
       $form_state->disableRedirect(FALSE);
     }
     else {