Undesired toggle effect with #states and checkboxes
Form API states act in both directions. Suppose you set an element to be unchecked if a condition X is true. Then it gets unchecked when X becomes true, and gets non unchecked (i.e. checked) when X becomes false. See the example code and its demo at drupal.org.

You need some custom jQuery in the case.