diff --git a/Core/HLE/scePsmf.cpp b/Core/HLE/scePsmf.cpp index 77add1e60d..0650738505 100644 --- a/Core/HLE/scePsmf.cpp +++ b/Core/HLE/scePsmf.cpp @@ -447,6 +447,9 @@ u32 scePsmfSetPsmf(u32 psmfStruct, u32 psmfData) data.headerSize = 0x800; data.streamSize = psmf->streamSize; data.streamNum = psmf->numStreams; + auto iter = psmfMap.find(data.headerOffset); + if (iter != psmfMap.end()) + delete iter->second; data.headerOffset = psmf->headerOffset; psmfMap[data.headerOffset] = psmf; Memory::WriteStruct(psmfStruct, &data);