fixed defer [ci skip]