about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/game/server/gamecontext.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/game/server/gamecontext.cpp b/src/game/server/gamecontext.cpp
index f54849e9..ea9f3199 100644
--- a/src/game/server/gamecontext.cpp
+++ b/src/game/server/gamecontext.cpp
@@ -1195,7 +1195,7 @@ void CGameContext::OnMessage(int MsgID, CUnpacker *pUnpacker, int ClientID)
 		// Switch team on given client and kill/respawn him
 		if(m_pController->CanJoinTeam(pMsg->m_Team, ClientID))
 		{
-			if(m_pController->CanChangeTeam(pPlayer, pMsg->m_Team))
+			if(m_pController->CanChangeTeam(pPlayer, pMsg->m_Team) || !Server()->ClientIngame(pPlayer->m_CaughtBy))
 			{
 				pPlayer->m_LastSetTeam = Server()->Tick();
 				pPlayer->SetTeam(pMsg->m_Team);