fix listener leaking on session expiry