diff --git a/src/world/Territory/Territory.cpp b/src/world/Territory/Territory.cpp index c2a0c938..2012b6ed 100644 --- a/src/world/Territory/Territory.cpp +++ b/src/world/Territory/Territory.cpp @@ -490,7 +490,8 @@ void Territory::updateSessions( uint64_t tickCount, bool changedWeather ) } // this session is not linked to this area anymore, remove it from zone session list - if( pPlayer->getTerritoryId() != m_guId ) + // TODO: Retrieving the session is expensive, try to find a better method of removing invalid actors + if( pPlayer->getTerritoryId() != m_guId || !server.getSession( pPlayer->getId() ) ) { Logger::debug( "[{}] removeActor( pPlayer );", pPlayer->getId() ); removeActor( pPlayer );