I think if it jitters, its because the 'timer' happens to choose low values, and the shop is near the top at the same time -- this could cause a jittering.
Perhaps, if your boundary conditional is triggered, you could have a second timer that ensures the shop moves away from the boundary a certain distance.