Do catchup in listener thread