diff --git a/core/modules/views/js/ajax_view.es6.js b/core/modules/views/js/ajax_view.es6.js
index 0c8535890b..fe2d5c5d28 100644
--- a/core/modules/views/js/ajax_view.es6.js
+++ b/core/modules/views/js/ajax_view.es6.js
@@ -45,6 +45,9 @@
   Drupal.views.ajaxView = function (settings) {
     const selector = `.js-view-dom-id-${settings.view_dom_id}`;
     this.$view = $(selector);
+    if (this.$view.length === 0) {
+      return;
+    }
 
     // Retrieve the path to use for views' ajax.
     let ajaxPath = drupalSettings.views.ajax_path;
@@ -100,7 +103,7 @@
       base: this.selector,
       element: this.$view.get(0),
     });
-    this.refreshViewAjax = Drupal.ajax(selfSettings);
+    this.$view.once('ajax-refresh').each(() => this.refreshViewAjax = Drupal.ajax(selfSettings));
   };
 
   /**
diff --git a/core/modules/views/js/ajax_view.js b/core/modules/views/js/ajax_view.js
index a10eb837eb..f925cd42f6 100644
--- a/core/modules/views/js/ajax_view.js
+++ b/core/modules/views/js/ajax_view.js
@@ -21,8 +21,13 @@
   Drupal.views.instances = {};
 
   Drupal.views.ajaxView = function (settings) {
+    var _this = this;
+
     var selector = '.js-view-dom-id-' + settings.view_dom_id;
     this.$view = $(selector);
+    if (this.$view.length === 0) {
+      return;
+    }
 
     var ajaxPath = drupalSettings.views.ajax_path;
 
@@ -59,7 +64,9 @@
       base: this.selector,
       element: this.$view.get(0)
     });
-    this.refreshViewAjax = Drupal.ajax(selfSettings);
+    this.$view.once('ajax-refresh').each(function () {
+      return _this.refreshViewAjax = Drupal.ajax(selfSettings);
+    });
   };
 
   Drupal.views.ajaxView.prototype.attachExposedFormAjax = function () {
