diff --git a/src/g_level.cpp b/src/g_level.cpp index 0f85fc144..6468dd29d 100644 --- a/src/g_level.cpp +++ b/src/g_level.cpp @@ -378,6 +378,10 @@ void G_NewInit () if (primaryLevel->FraggleScriptThinker) primaryLevel->FraggleScriptThinker->Destroy(); primaryLevel->FraggleScriptThinker = nullptr; + // Destroy thinkers that may remain after change level failure + // Usually, the list contains just a sentinel when such error occurred + primaryLevel->Thinkers.DestroyThinkersInList(STAT_TRAVELLING); + G_ClearSnapshots (); netgame = false; multiplayer = multiplayernext;