diff --git a/Generals/Code/GameEngine/Source/Common/RTS/Player.cpp b/Generals/Code/GameEngine/Source/Common/RTS/Player.cpp index 57269af6531..033b716a35f 100644 --- a/Generals/Code/GameEngine/Source/Common/RTS/Player.cpp +++ b/Generals/Code/GameEngine/Source/Common/RTS/Player.cpp @@ -1767,7 +1767,8 @@ void Player::transferAssetsFromThat(Player *that) std::list objsToTransfer; // let's not transfer beacons - const ThingTemplate *beaconTemplate = TheThingFactory->findTemplate( that->getPlayerTemplate()->getBeaconTemplate() ); + const PlayerTemplate *thatPlayerTemplate = that->getPlayerTemplate(); + const ThingTemplate *beaconTemplate = thatPlayerTemplate ? TheThingFactory->findTemplate( thatPlayerTemplate->getBeaconTemplate() ) : nullptr; // transfer all his units. for (PlayerTeamList::iterator it = that->m_playerTeamPrototypes.begin(); diff --git a/GeneralsMD/Code/GameEngine/Source/Common/RTS/Player.cpp b/GeneralsMD/Code/GameEngine/Source/Common/RTS/Player.cpp index 9a1e33e3cd4..09771c19372 100644 --- a/GeneralsMD/Code/GameEngine/Source/Common/RTS/Player.cpp +++ b/GeneralsMD/Code/GameEngine/Source/Common/RTS/Player.cpp @@ -2127,7 +2127,8 @@ void Player::transferAssetsFromThat(Player *that) std::list objsToTransfer; // let's not transfer beacons - const ThingTemplate *beaconTemplate = TheThingFactory->findTemplate( that->getPlayerTemplate()->getBeaconTemplate() ); + const PlayerTemplate *thatPlayerTemplate = that->getPlayerTemplate(); + const ThingTemplate *beaconTemplate = thatPlayerTemplate ? TheThingFactory->findTemplate( thatPlayerTemplate->getBeaconTemplate() ) : nullptr; // transfer all his units. for (PlayerTeamList::iterator it = that->m_playerTeamPrototypes.begin();