diff --git a/Engine/source/T3D/SubScene.cpp b/Engine/source/T3D/SubScene.cpp index cc05532a2..ecab32ff0 100644 --- a/Engine/source/T3D/SubScene.cpp +++ b/Engine/source/T3D/SubScene.cpp @@ -348,7 +348,7 @@ void SubScene::load() return; GameMode::findGameModes(mGameModesNames, &mGameModesList); - if ((String(mGameModesNames).isNotEmpty() && mGameModesList.size() == 0) || !evaluateCondition()) + if (!isSelected() && (String(mGameModesNames).isNotEmpty() && mGameModesList.size() == 0) || !evaluateCondition()) { mLoaded = false; return; diff --git a/Engine/source/T3D/gameMode.cpp b/Engine/source/T3D/gameMode.cpp index 32253cca5..02cf791fc 100644 --- a/Engine/source/T3D/gameMode.cpp +++ b/Engine/source/T3D/gameMode.cpp @@ -101,7 +101,8 @@ void GameMode::findGameModes(const char* gameModeList, Vector *outGam GameMode* gm; if (Sim::findObject(gameModeNames[i].c_str(), gm)) { - outGameModes->push_back(gm); + if (gm->isActive() || gm->isAlwaysActive()) + outGameModes->push_back(gm); } } }