diff --git a/conditional_fields.module b/conditional_fields.module
index 56b65b5..3b88e27 100644
--- a/conditional_fields.module
+++ b/conditional_fields.module
@@ -543,11 +543,8 @@ function conditional_fields_form_after_build($form, &$form_state) {
 
       // Add the $state into the correct logic group in $states.
       foreach ($state as $key => $constraints) {
-        if (empty($states[$key][$options['grouping']])) {
-          $states[$key][$options['grouping']] = $constraints;
-        }
-        else {
-          $states[$key][$options['grouping']] = array_merge($states[$key][$options['grouping']], $constraints);
+        foreach ($constraints as $selector => $constraint) {
+          $states[$key][$options['grouping']][$selector][] = $constraint;
         }
       }
 
