diff --git a/src/aircraft_cmd.cpp b/src/aircraft_cmd.cpp index b1f4967a0f..c45c9d282b 100644 --- a/src/aircraft_cmd.cpp +++ b/src/aircraft_cmd.cpp @@ -2086,7 +2086,7 @@ static void AircraftEventHandler(Vehicle *v, int loop) if (v->breakdown_ctr <= 2) { HandleBrokenAircraft(v); } else { - v->breakdown_ctr--; + if (!v->current_order.IsType(OT_LOADING)) v->breakdown_ctr--; } } diff --git a/src/roadveh_cmd.cpp b/src/roadveh_cmd.cpp index a1c0834472..78a5d5ee20 100644 --- a/src/roadveh_cmd.cpp +++ b/src/roadveh_cmd.cpp @@ -1844,7 +1844,7 @@ static void RoadVehController(Vehicle *v) HandleBrokenRoadVeh(v); return; } - v->breakdown_ctr--; + if (!v->current_order.IsType(OT_LOADING)) v->breakdown_ctr--; } if (v->vehstatus & VS_STOPPED) return; diff --git a/src/ship_cmd.cpp b/src/ship_cmd.cpp index ac00f121b0..901514727a 100644 --- a/src/ship_cmd.cpp +++ b/src/ship_cmd.cpp @@ -594,7 +594,7 @@ static void ShipController(Vehicle *v) HandleBrokenShip(v); return; } - v->breakdown_ctr--; + if (!v->current_order.IsType(OT_LOADING)) v->breakdown_ctr--; } if (v->vehstatus & VS_STOPPED) return; diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index 751cc18893..cf6478b4ce 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -3421,7 +3421,7 @@ static void TrainLocoHandler(Vehicle *v, bool mode) HandleBrokenTrain(v); return; } - v->breakdown_ctr--; + if (!v->current_order.IsType(OT_LOADING)) v->breakdown_ctr--; } if (HasBit(v->u.rail.flags, VRF_REVERSING) && v->cur_speed == 0) {