diff --git a/vehicle.c b/vehicle.c index cb7ba6a982..6950b0e7cd 100644 --- a/vehicle.c +++ b/vehicle.c @@ -1781,12 +1781,12 @@ static void MaybeReplaceVehicle(Vehicle *v) v = w; } - if (CmdFailed(temp_cost)) break; - - cost += temp_cost; + if (!CmdFailed(temp_cost)) { + cost += temp_cost; + } } while (w->type == VEH_Train && (w = GetNextVehicle(w)) != NULL); - if (!(flags & DC_EXEC) && (CmdFailed(temp_cost) || p->money64 < (int32)(cost + p->engine_renew_money) || cost == 0)) { + if (p->money64 < (int32)(cost + p->engine_renew_money) || cost == 0) { if (p->money64 < (int32)(cost + p->engine_renew_money) && ( _local_player == v->owner ) && cost != 0) { StringID message; SetDParam(0, v->unitnumber);