diff --git a/src/server/game/Entities/Vehicle/Vehicle.cpp b/src/server/game/Entities/Vehicle/Vehicle.cpp index ad8d4653ce2..75aef9ff7f9 100644 --- a/src/server/game/Entities/Vehicle/Vehicle.cpp +++ b/src/server/game/Entities/Vehicle/Vehicle.cpp @@ -778,6 +778,11 @@ bool VehicleJoinEvent::Execute(uint64, uint32) return true; } + //It's possible that multiple vehicle join + //events are executed in the same update + if (Passenger->GetVehicle()) + Passenger->ExitVehicle(); + Passenger->SetVehicle(Target); Seat->second.Passenger.Guid = Passenger->GetGUID(); Seat->second.Passenger.IsUnselectable = Passenger->HasUnitFlag(UNIT_FLAG_NOT_SELECTABLE);