You're right: `first` is set to `true` and used in the `locate` function.
I would expect `first = false` somewhere.

@sbrunner ?