diff --git a/core/modules/views/js/ajax_view.js b/core/modules/views/js/ajax_view.js
index 2f4aae8..4c78706 100644
--- a/core/modules/views/js/ajax_view.js
+++ b/core/modules/views/js/ajax_view.js
@@ -84,10 +84,11 @@
   };
 
   Drupal.views.ajaxView.prototype.attachExposedFormAjax = function () {
-    var button = $('input[type=submit], input[type=image]', this.$exposed_form);
-    button = button[0];
-
-    this.exposedFormAjax = new Drupal.ajax($(button).attr('id'), button, this.element_settings);
+    var that = this;
+    this.exposedFormAjax = [];
+    $('input[type=submit], input[type=image]', this.$exposed_form).each(function(index) {
+      that.exposedFormAjax[index] = new Drupal.ajax($(this).attr('id'), this, that.element_settings);
+    });
   };
 
   Drupal.views.ajaxView.prototype.filterNestedViews = function () {
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 3652e8b..6919992 100644
--- a/core/modules/views/src/Plugin/views/exposed_form/ExposedFormPluginBase.php
+++ b/core/modules/views/src/Plugin/views/exposed_form/ExposedFormPluginBase.php
@@ -320,7 +320,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 {
