I think we can use setTimeout() here because the case where there is no matching contact should be rare or non-existent.  A bit of delay in this error path should be fine.