Timers run on a system wherein the server checks the "deadline" once every scheduled period - for many timers this is every minute, for some it is (or was) every 3 minutes. If your timer is set to end at 12:00:04, for example, you would have missed the check by 3-4 seconds and will have to wait until the run at 12:01:00 for most timers. The javascript that displays the timer doesn't know how to handle the fact that you're technically over the deadline time, and defaults to counting down from 1 minute, giving the impression that the timer is "looping".