handle empty cache directory gracefully, fixes #140