diff --git a/core/modules/views/js/ajax_view.es6.js b/core/modules/views/js/ajax_view.es6.js
index 0c8535890b..f9ea315a7d 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,9 @@
       base: this.selector,
       element: this.$view.get(0),
     });
-    this.refreshViewAjax = Drupal.ajax(selfSettings);
+    this.$view.once('ajax-refresh').each(function () {
+      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..ca701837b7 100644
--- a/core/modules/views/js/ajax_view.js
+++ b/core/modules/views/js/ajax_view.js
@@ -23,6 +23,9 @@
   Drupal.views.ajaxView = function (settings) {
     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 +62,9 @@
       base: this.selector,
       element: this.$view.get(0)
     });
-    this.refreshViewAjax = Drupal.ajax(selfSettings);
+    this.$view.once('ajax-refresh').each(function () {
+      this.refreshViewAjax = Drupal.ajax(selfSettings);
+    });
   };
 
   Drupal.views.ajaxView.prototype.attachExposedFormAjax = function () {
