An incorrect or incomplete mobility group configuration should be the most common reason for your problem. In order to overcome this, you need to ensure that your WiSM mobility group is configured correctly as follows:
The mobility group name configured must be the same on all the controllers that belong to a particular mobility group. This mobility group name is case sensitive.
The mobility group members list configured on each controller needs to contain all the controllers of that particular mobility group.
These configurations ensure that the failover occurs seamlessly and also that when the primary controller comes back on, the previously registered APs fall back to it.
"Satisfaction does not come from knowing the solution, it comes from knowing why." - Rosalind Franklin