Using a simple DefaultCacheManager, i.e. no cluster, I define a configuration for a named cache, and then start it. From that point on isRunning *always* returns true, no matter how many times I call removeCache. Looking at the code, it seems like entries in the caches member variable, should be removed at some point, but never are. Either isRunning or removeCache is lying to me. This is using 6.0.2.Final.