diff --git a/src/infrastructure_func.h b/src/infrastructure_func.h index ac2ca81cf3..f991518d09 100644 --- a/src/infrastructure_func.h +++ b/src/infrastructure_func.h @@ -72,7 +72,7 @@ static inline CommandCost CheckInfraUsageAllowed(VehicleType type, Owner infra_o */ static inline bool IsVehicleControlAllowed(const Vehicle *v, Owner o) { - return v->owner == o || (v->type == VEH_TRAIN && IsTileOwner(v->tile, o)); + return v->owner == o || (v->type == VEH_TRAIN && IsTileOwner(v->tile, o) && !v->IsChainInDepot()); } /** @@ -84,7 +84,7 @@ static inline bool IsVehicleControlAllowed(const Vehicle *v, Owner o) */ static inline CommandCost CheckVehicleControlAllowed(const Vehicle *v) { - if (v->type == VEH_TRAIN && IsTileOwner(v->tile, _current_company)) return CommandCost(); + if (v->type == VEH_TRAIN && IsTileOwner(v->tile, _current_company) && !v->IsChainInDepot()) return CommandCost(); return CheckOwnership(v->owner); }