reimplemented the handling of channel mode changes