Fix recorder routing logic, close #1900