Listener only needs to fire once