fix duplicate delivery when using .on() twice