diff --git a/replace/misc/1.7/states.js b/replace/misc/1.7/states.js
index d934372..9be41c2 100644
--- a/replace/misc/1.7/states.js
+++ b/replace/misc/1.7/states.js
@@ -18,11 +18,14 @@ Drupal.behaviors.states = {
   attach: function (context, settings) {
     for (var selector in settings.states) {
       for (var state in settings.states[selector]) {
-        new states.Dependent({
-          element: $(selector),
-          state: states.State.sanitize(state),
-          dependees: settings.states[selector][state]
-        });
+        var element = $(selector).once('states-' + state);
+        if (element.length) {
+          new states.Dependent({
+            element: element,
+            state: states.State.sanitize(state),
+            dependees: settings.states[selector][state]
+          });
+        }
       }
     }
 
