And it turns out it's not leftovers, it's incomplete. I've added the extra logic for not redirecting the user or changing the button until AFTER the vote request has finished.