diff -r b3116362cc09 -r 26b53a17bcbd src/vehicle.cpp --- a/src/vehicle.cpp Sun Sep 21 11:26:50 2008 +0000 +++ b/src/vehicle.cpp Sun Sep 21 14:03:47 2008 +0000 @@ -264,6 +264,11 @@ } } + /* Stop non-front engines */ + FOR_ALL_VEHICLES(v) { + if (v->type == VEH_TRAIN && IsTrainEngine(v) && !IsFrontEngine(v)) v->vehstatus |= VS_STOPPED; + } + FOR_ALL_VEHICLES(v) { switch (v->type) { case VEH_ROAD: @@ -1110,6 +1115,7 @@ Vehicle *v = GetVehicle(p1); if (!CheckOwnership(v->owner)) return CMD_ERROR; + if (!v->IsPrimaryVehicle()) return CMD_ERROR; switch (v->type) { case VEH_TRAIN: