Same fix for _or

Realized that it probably had the cognate bug.  Proved that, and fixed
it by refactoring the code.