fix if cache