summaryrefslogtreecommitdiff
path: root/src/autoreplace_cmd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/autoreplace_cmd.cpp')
-rw-r--r--src/autoreplace_cmd.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/autoreplace_cmd.cpp b/src/autoreplace_cmd.cpp
index 27be93e7a..f8faeab10 100644
--- a/src/autoreplace_cmd.cpp
+++ b/src/autoreplace_cmd.cpp
@@ -617,9 +617,10 @@ CommandCost CmdAutoreplaceVehicle(TileIndex tile, DoCommandFlag flags, uint32 p1
bool free_wagon = false;
if (v->type == VEH_TRAIN) {
- if (IsArticulatedPart(v) || IsRearDualheaded(v)) return CMD_ERROR;
- free_wagon = !IsFrontEngine(v);
- if (free_wagon && IsFrontEngine(v->First())) return CMD_ERROR;
+ Train *t = Train::From(v);
+ if (IsArticulatedPart(t) || IsRearDualheaded(t)) return CMD_ERROR;
+ free_wagon = !t->IsFrontEngine();
+ if (free_wagon && t->First()->IsFrontEngine()) return CMD_ERROR;
} else {
if (!v->IsPrimaryVehicle()) return CMD_ERROR;
}