fix a switch unreachable bug