fixed problems with how current mode is set