diff --git a/src/BizHawk.Client.Common/movie/tasproj/ZwinderStateManager.cs b/src/BizHawk.Client.Common/movie/tasproj/ZwinderStateManager.cs index bc52ce4686..9d1d1bf777 100644 --- a/src/BizHawk.Client.Common/movie/tasproj/ZwinderStateManager.cs +++ b/src/BizHawk.Client.Common/movie/tasproj/ZwinderStateManager.cs @@ -100,16 +100,22 @@ namespace BizHawk.Client.Common lastReserved = f; } foreach (int f in framesToRemove) - EvictReserved(f); + { + if (f != 0) + EvictReserved(f); + } } } else { + List framesToRemove = new List(); foreach (int f in _reserved.Keys) { if (f != 0 && !_reserveCallback(f)) - EvictReserved(f); + framesToRemove.Add(f); } + foreach (int f in framesToRemove) + EvictReserved(f); } _ancientInterval = settings.AncientStateInterval;