properly update publisher and listener with new channel on error