diff --git a/core/misc/states.js b/core/misc/states.js
index 3109e1f1bd..77fdb3c4e8 100644
--- a/core/misc/states.js
+++ b/core/misc/states.js
@@ -93,7 +93,7 @@
    */
   Drupal.behaviors.states = {
     attach(context, settings) {
-      const $states = $(context).find('[data-drupal-states]');
+      const $states = once('states', '[data-drupal-states]', context);
       const il = $states.length;
       for (let i = 0; i < il; i++) {
         const config = JSON.parse(
