diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -1936,6 +1936,7 @@ CommandCost CmdReverseTrainDirection(DoC } } else { /* turn the whole train around */ + if (!v->IsPrimaryVehicle()) return CMD_ERROR; if ((v->vehstatus & VS_CRASHED) || v->breakdown_ctr != 0) return CMD_ERROR; if (flags & DC_EXEC) {