re-calc errors with $error watch rather than hacks before