diff -r 3415ef43c70a -r fb4dc0ca975d train_cmd.c --- a/train_cmd.c Sat Dec 02 09:54:49 2006 +0000 +++ b/train_cmd.c Sat Dec 02 16:56:32 2006 +0000 @@ -2609,10 +2609,11 @@ if (--v->load_unload_time_rem) return; - if (v->current_order.flags & OF_FULL_LOAD && CanFillVehicle(v)) { + if (CanFillVehicle(v) && (v->current_order.flags & OF_FULL_LOAD || + (_patches.gradual_loading && !HASBIT(v->load_status, LS_LOADING_FINISHED)))) { v->u.rail.days_since_order_progr = 0; /* Prevent a train lost message for full loading trains */ SET_EXPENSES_TYPE(EXPENSES_TRAIN_INC); - if (LoadUnloadVehicle(v)) { + if (LoadUnloadVehicle(v, false)) { InvalidateWindow(WC_TRAINS_LIST, v->owner); MarkTrainDirty(v); @@ -2712,7 +2713,7 @@ v->current_order.dest = 0; SET_EXPENSES_TYPE(EXPENSES_TRAIN_INC); - if (LoadUnloadVehicle(v) != 0) { + if (LoadUnloadVehicle(v, true) != 0) { InvalidateWindow(WC_TRAINS_LIST, v->owner); TrainCargoChanged(v); UpdateTrainAcceleration(v);