diff --git a/src/aircraft_cmd.cpp b/src/aircraft_cmd.cpp index 12e5695526..aabe323bd4 100644 --- a/src/aircraft_cmd.cpp +++ b/src/aircraft_cmd.cpp @@ -1411,6 +1411,7 @@ static void HandleAircraftLoading(Vehicle *v, int mode) } Order b = v->current_order; + v->LeaveStation(); v->current_order.Free(); MarkAircraftDirty(v); if (!(b.flags & OF_NON_STOP)) return; diff --git a/src/vehicle.cpp b/src/vehicle.cpp index c14d376e10..d851dcb091 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -2916,5 +2916,5 @@ void Vehicle::LeaveStation() assert(current_order.type == OT_LOADING); current_order.type = OT_LEAVESTATION; current_order.flags = 0; - GetStation(this->last_station_visited)->loading_vehicles.push_back(this); + GetStation(this->last_station_visited)->loading_vehicles.remove(this); }