diff --git a/vehicle.c b/vehicle.c index 70f12cecce..f5a8938ca7 100644 --- a/vehicle.c +++ b/vehicle.c @@ -1765,12 +1765,10 @@ 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);