Optimisation: only clear status when really need to.