Fix checkout pre-condition checking

I prematurely refactored without thinking through the implications.