propagate error correctly for Listen