diff options
-rw-r--r-- | src/order_cmd.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/order_cmd.cpp b/src/order_cmd.cpp index c72f0d087..eefa249e7 100644 --- a/src/order_cmd.cpp +++ b/src/order_cmd.cpp @@ -428,10 +428,10 @@ StationIDStack OrderList::GetNextStoppingStation(const Vehicle *v, const Order * hops); const Order *advance = this->GetNextDecisionNode( this->GetNext(next), hops); - if (advance == NULL) { - next = skip_to; - } else if (skip_to == NULL) { - next = advance; + if (advance == NULL || advance == first) { + next = (skip_to == first) ? NULL : skip_to; + } else if (skip_to == NULL || skip_to == first) { + next = (advance == first) ? NULL : advance; } else { StationIDStack st1 = this->GetNextStoppingStation(v, skip_to); StationIDStack st2 = this->GetNextStoppingStation(v, advance); |