Mine recently stopped doing this. I don't know why it ever does this because you tell it what channel to use, but if you notice when you enter the previous command repeatedly then it will say "mon0 is on channel X, but the AP uses channel 1". It's because if you look at airodump-ng while it's running mon0 is scanning through the channels. If you enter the same command enough then you'll eventually get lucky and mon0 will be on the right channel when the command is processed. I just checked again and mine isn't scanning anymore, it stays on the channel.