mode switches only if current mode not equal to new selected one