diff --git a/src/timetable_cmd.cpp b/src/timetable_cmd.cpp index 000a0a75b2..6394b8beb5 100644 --- a/src/timetable_cmd.cpp +++ b/src/timetable_cmd.cpp @@ -48,6 +48,13 @@ static void ChangeTimetable(Vehicle *v, VehicleOrderID order_number, uint32 val, } order->SetWaitTime(val); order->SetWaitTimetabled(timetabled); + if (HasBit(v->vehicle_flags, VF_SCHEDULED_DISPATCH) && timetabled && order->IsWaitTimetabled() && v->GetFirstWaitingLocation(true) == order_number) { + for (Vehicle *u = v->FirstShared(); u != nullptr; u = u->NextShared()) { + if (u->cur_implicit_order_index == order_number && (u->last_station_visited == order->GetDestination())) { + u->lateness_counter += timetable_delta; + } + } + } break; case MTF_TRAVEL_TIME: