avoid spurious rebuilds