diff --git a/src/core/system.cpp b/src/core/system.cpp index 97004db61..3f583abb4 100644 --- a/src/core/system.cpp +++ b/src/core/system.cpp @@ -2564,8 +2564,14 @@ bool System::LoadStateFromStream(ByteStream* state, Error* error, bool update_di } } } + else + { + // Skip updating media if there is none, and none in the state. That way we don't wipe out EXE boot. + ignore_media = !CDROM::HasMedia(); + } - UpdateRunningGame(media_filename.c_str(), media.get(), false); + if (!ignore_media) + UpdateRunningGame(media_filename.c_str(), media.get(), false); if (media && header.version >= 51) {