Imagine the distance between the player and the view is 3 and the view movement speed is 4. In the first call, the code will subtract 4 to the view position so its distance to the player will be 3 - 4 = -1. Next call, the code will add 4 to the view position so its distance to the player will be -1 + 4 = 3, back to its original position in an endless loop. So, in reference to the code you posted, it always happens. It may look it does not, but it does.