Index: src/aircraft_cmd.cpp =================================================================== --- src/aircraft_cmd.cpp (revision 10532) +++ src/aircraft_cmd.cpp (working copy) @@ -695,7 +695,6 @@ static void CheckIfAircraftNeedsService(Vehicle *v) { - if (_patches.servint_aircraft == 0) return; if (!VehicleNeedsService(v)) return; if (v->vehstatus & VS_STOPPED) return; Index: src/roadveh_cmd.cpp =================================================================== --- src/roadveh_cmd.cpp (revision 10532) +++ src/roadveh_cmd.cpp (working copy) @@ -1840,7 +1840,6 @@ { const Depot* depot; - if (_patches.servint_roadveh == 0) return; if (!VehicleNeedsService(v)) return; if (v->vehstatus & VS_STOPPED) return; if (_patches.gotodepot && VehicleHasDepotOrders(v)) return; Index: src/ship_cmd.cpp =================================================================== --- src/ship_cmd.cpp (revision 10532) +++ src/ship_cmd.cpp (working copy) @@ -140,7 +140,6 @@ { const Depot* depot; - if (_patches.servint_ships == 0) return; if (!VehicleNeedsService(v)) return; if (v->vehstatus & VS_STOPPED) return; Index: src/train_cmd.cpp =================================================================== --- src/train_cmd.cpp (revision 10532) +++ src/train_cmd.cpp (working copy) @@ -3328,7 +3328,6 @@ static void CheckIfTrainNeedsService(Vehicle *v) { - if (_patches.servint_trains == 0) return; if (!VehicleNeedsService(v)) return; if (v->vehstatus & VS_STOPPED) return; if (_patches.gotodepot && VehicleHasDepotOrders(v)) return; Index: src/vehicle.cpp =================================================================== --- src/vehicle.cpp (revision 10532) +++ src/vehicle.cpp (working copy) @@ -113,6 +113,9 @@ if (v->vehstatus & VS_CRASHED) return false; // Crashed vehicles don't need service anymore + if (v->service_interval == 0 && GetPlayer(v->owner)->engine_renew && v->age - v->max_age > GetPlayer(v->owner)->engine_renew_months * 30) + return true; /* Vehicules should be renewed when they get old even if servicing is disabled */ + if (_patches.no_servicing_if_no_breakdowns && _opt.diff.vehicle_breakdowns == 0) { return EngineHasReplacementForPlayer(GetPlayer(v->owner), v->engine_type, v->group_id); /* Vehicles set for autoreplacing needs to go to a depot even if breakdowns are turned off */ }