move the check into chan_in to be extra paranoid