Don't call reposition() unless things have actually moved.