avoid double work when only checking for errors