Removing listener on disconnect

This was adding listeners every time it was invoked but never removing
anything