diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index 371a776aa..ded540a57 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -2252,7 +2252,10 @@ TempSummon* Map::SummonCreature(uint32 entry, Position const& pos, SummonPropert summon->SetVisibleBySummonerOnly(visibleBySummonerOnly); - if (!AddToMap(summon->ToCreature(), summon->GetOwnerGUID().IsPlayer() || (summoner && summoner->GetTransport()))) + bool summonerHasTransport = summoner && summoner->GetTransport(); + bool summonerIsVehicle = summoner && summoner->IsUnit() && summoner->ToUnit()->IsVehicle(); + bool checkTransport = summon->GetOwnerGUID().IsPlayer() || (summonerHasTransport && !summonerIsVehicle); + if (!AddToMap(summon->ToCreature(), checkTransport)) { delete summon; return nullptr;