diff --git a/src/kz/mode/kz_mode_manager.cpp b/src/kz/mode/kz_mode_manager.cpp index 8d2c743d..1de773b0 100644 --- a/src/kz/mode/kz_mode_manager.cpp +++ b/src/kz/mode/kz_mode_manager.cpp @@ -243,6 +243,10 @@ void KZModeManager::UnregisterMode(const char *modeName) for (u32 i = 0; i < MAXPLAYERS + 1; i++) { KZPlayer *player = g_pKZPlayerManager->ToPlayer(i); + if (!player->IsInGame()) + { + continue; + } if (strcmp(player->modeService->GetModeName(), modeName) == 0 || strcmp(player->modeService->GetModeShortName(), modeName) == 0) { this->SwitchToMode(player, "VNL"); diff --git a/src/utils/hooks.cpp b/src/utils/hooks.cpp index 51b13f66..4a0e20cd 100644 --- a/src/utils/hooks.cpp +++ b/src/utils/hooks.cpp @@ -282,7 +282,10 @@ void hooks::Cleanup() SH_REMOVE_HOOK_ID(createLoadingSpawnGroupHook); - GameEntitySystem()->RemoveListenerEntity(&entityListener); + if (GameEntitySystem()) + { + GameEntitySystem()->RemoveListenerEntity(&entityListener); + } } // Entity hooks