fix bug: should not channel while casting