diff --git a/Core/GameEngine/Source/GameNetwork/GameSpy/LobbyUtils.cpp b/Core/GameEngine/Source/GameNetwork/GameSpy/LobbyUtils.cpp index 7ac0d39b85..610de8a7a8 100644 --- a/Core/GameEngine/Source/GameNetwork/GameSpy/LobbyUtils.cpp +++ b/Core/GameEngine/Source/GameNetwork/GameSpy/LobbyUtils.cpp @@ -474,11 +474,11 @@ struct GameSortStruct bool operator()(GameSpyStagingRoom *g1, GameSpyStagingRoom *g2) const { // sort CRC mismatches to the bottom - Bool g1Good = (g1->getExeCRC() != TheGlobalData->m_exeCRC || g1->getIniCRC() != TheGlobalData->m_iniCRC); - Bool g2Good = (g1->getExeCRC() != TheGlobalData->m_exeCRC || g1->getIniCRC() != TheGlobalData->m_iniCRC); - if ( g1Good ^ g2Good ) + Bool g1Mismatch = (g1->getExeCRC() != TheGlobalData->m_exeCRC || g1->getIniCRC() != TheGlobalData->m_iniCRC); + Bool g2Mismatch = (g2->getExeCRC() != TheGlobalData->m_exeCRC || g2->getIniCRC() != TheGlobalData->m_iniCRC); + if (g1Mismatch != g2Mismatch) { - return g1Good; + return !g1Mismatch; } // sort games with private ladders to the bottom