restore point if necessary