Listener restarts properly on settings change