Re-adding the event listener creates a new function instance each time, causing Chrome to treat each as a separate listener, even though the function name is the same.
Why the same function adds and removes the listener at the same time? Shouldn't some other click remove the listener in another trigger?