I dont see anywhere in that code that checks to make sure the pawn is close to its target, or that it is on the ground.