move shorter conditional branch to the top
retry indefinitely, but report only once