Index: src/newgrf_engine.cpp =================================================================== --- src/newgrf_engine.cpp (revision 10753) +++ src/newgrf_engine.cpp (working copy) @@ -803,7 +803,7 @@ if (v == NULL) return group->g.real.loading[0]; - if (v->type == VEH_TRAIN) { + if (v->HasFront()) { in_motion = GetFirstVehicleInChain(v)->current_order.type != OT_LOADING; } else { in_motion = v->current_order.type != OT_LOADING; @@ -1033,7 +1033,7 @@ * i.e.), so we give them all the NEW_CARGO triggered * vehicle's portion of random bits. */ assert(first); - DoTriggerVehicle((v->type == VEH_TRAIN) ? GetFirstVehicleInChain(v) : v, VEHICLE_TRIGGER_ANY_NEW_CARGO, new_random_bits, false); + DoTriggerVehicle(v->HasFront() ? GetFirstVehicleInChain(v) : v, VEHICLE_TRIGGER_ANY_NEW_CARGO, new_random_bits, false); break; case VEHICLE_TRIGGER_DEPOT: