optics: Change from PFEH to while, fixes saves