why is this not tested outside the if construct?