diff -r fd54aa44d6e0 -r 655a34aef536 engine.c --- a/engine.c Fri Jan 06 22:16:17 2006 +0000 +++ b/engine.c Fri Jan 06 22:49:00 2006 +0000 @@ -608,7 +608,12 @@ if (capacity == 0) capacity = 1; loaded = (v->cargo_count * 100) / capacity; - in_motion = (v->cur_speed != 0); + + if (v->type == VEH_Train) { + in_motion = GetFirstVehicleInChain(v)->current_order.type != OT_LOADING; + } else { + in_motion = v->current_order.type != OT_LOADING; + } } group = GetVehicleSpriteGroup(engine, v);