diff --git a/src/common/menu/savegamemanager.cpp b/src/common/menu/savegamemanager.cpp index 069bcf5603e..9efece88b2a 100644 --- a/src/common/menu/savegamemanager.cpp +++ b/src/common/menu/savegamemanager.cpp @@ -316,10 +316,7 @@ unsigned FSavegameManagerBase::ExtractSaveData(int index) auto pic = resf->FindEntry("savepic.png"); if (pic >= 0) { - FileReader picreader; - // we must create a memory reader copy of the PNG if we want to close the savegame file here. - auto rd = resf->Read(pic); - picreader.OpenMemoryArray(rd); + FileReader picreader = resf->GetEntryReader(pic, true); PNGHandle *png = M_VerifyPNG(picreader); if (png != nullptr) {