diff --git a/Source/Core/Core/Src/CoreTiming.cpp b/Source/Core/Core/Src/CoreTiming.cpp index af56ab25bb..06770aa375 100644 --- a/Source/Core/Core/Src/CoreTiming.cpp +++ b/Source/Core/Core/Src/CoreTiming.cpp @@ -170,7 +170,10 @@ void EventDoState(PointerWrap &p, BaseEvent* ev) // we can't savestate ev->type directly because events might not get registered in the same order (or at all) every time. // so, we savestate the event's type's name, and derive ev->type from that when loading. - std::string name = event_types[ev->type].name; + std::string name; + if (p.GetMode() != PointerWrap::MODE_READ) + name = event_types[ev->type].name; + p.Do(name); if (p.GetMode() == PointerWrap::MODE_READ) {