diff --git a/src/g_level.cpp b/src/g_level.cpp index b64a6f5bb..e0ddc56a2 100644 --- a/src/g_level.cpp +++ b/src/g_level.cpp @@ -812,6 +812,12 @@ void G_DoCompleted (void) // Close the conversation menu if open. P_FreeStrifeConversations (); + S_StopAllChannels(); + for (auto Level : AllLevels()) + { + SN_StopAllSequences(Level); + } + if (primaryLevel->DoCompleted(nextlevel, staticWmInfo)) { gamestate = GS_INTERMISSION; diff --git a/src/wi_stuff.cpp b/src/wi_stuff.cpp index 3a4327524..9c666fec9 100644 --- a/src/wi_stuff.cpp +++ b/src/wi_stuff.cpp @@ -763,11 +763,6 @@ void WI_Start(wbstartstruct_t *wbstartstruct) } } - S_StopAllChannels(); - for (auto Level : AllLevels()) - { - SN_StopAllSequences(Level); - } WI_Screen = cls->CreateNew(); ScaleOverrider s; IFVIRTUALPTRNAME(WI_Screen, "StatusScreen", Start)