fix shift caching