Can channel be less than 0?  If so you need to handle the one below separately cause it would probably be able to as well.