summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--train_cmd.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/train_cmd.c b/train_cmd.c
index 582aa0530..773a4b55d 100644
--- a/train_cmd.c
+++ b/train_cmd.c
@@ -839,8 +839,10 @@ int CheckTrainStoppedInDepot(const Vehicle *v)
for (; v != NULL; v = v->next) {
/* This count is used by the depot code to determine the number of engines
* in the consist. Exclude articulated parts so that autoreplacing to
- * engines with more articulated parts that before works correctly. */
- if (!IsArticulatedPart(v)) count++;
+ * engines with more articulated parts that before works correctly.
+ *
+ * Also skip counting rear ends of multiheaded engines */
+ if (!IsArticulatedPart(v) && !(!IsTrainEngine(v) && IsMultiheaded(v))) count++;
if (v->u.rail.track != 0x80 || v->tile != tile ||
(IsFrontEngine(v) && !(v->vehstatus & VS_STOPPED))) {
return -1;