diff --git a/brouter-core/src/main/java/btools/router/RoutingEngine.java b/brouter-core/src/main/java/btools/router/RoutingEngine.java index 7ddc011..125aa4b 100644 --- a/brouter-core/src/main/java/btools/router/RoutingEngine.java +++ b/brouter-core/src/main/java/btools/router/RoutingEngine.java @@ -246,9 +246,10 @@ public class RoutingEngine extends Thread { int startIdx = 0; int endIdx = -1; int dist = 0; - for (int idx = 0; idx < track.nodes.size(); idx++) { + int ourSize = track.nodes.size(); + for (int idx = 0; idx < ourSize; idx++) { OsmPathElement n = track.nodes.get(idx); - if (n.getSElev() == Short.MIN_VALUE && lastElev != Short.MIN_VALUE) { + if (n.getSElev() == Short.MIN_VALUE && lastElev != Short.MIN_VALUE && idx < ourSize-1) { // start one point before entry point to get better elevation results if (idx > 1) startElev = track.nodes.get(idx - 2).getSElev();