diff --git a/src/libraries/Microsoft.Extensions.Caching.Memory/src/MemoryCache.cs b/src/libraries/Microsoft.Extensions.Caching.Memory/src/MemoryCache.cs index 24212fbc65c684..2188cdd302a831 100644 --- a/src/libraries/Microsoft.Extensions.Caching.Memory/src/MemoryCache.cs +++ b/src/libraries/Microsoft.Extensions.Caching.Memory/src/MemoryCache.cs @@ -389,10 +389,10 @@ private void RemoveFromStats(Stats current) { for (int i = 0; i < _allStats.Count; i++) { - if (_allStats[i].TryGetTarget(out Stats? stats) && stats == current) + if (!_allStats[i].TryGetTarget(out Stats? stats)) { _allStats.RemoveAt(i); - break; + i--; } }