shift handling fix