Bail out after an error

Exit early if we have already called the callback