Why is `hasVCExpressDir` not set after the VCDir handling above? I.e. should line 209 be moved here?