Index: applications/editors/josm/plugins/public_transport/src/org/openstreetmap/josm/plugins/public_transport/actions/RoutePatternAction.java
===================================================================
--- applications/editors/josm/plugins/public_transport/src/org/openstreetmap/josm/plugins/public_transport/actions/RoutePatternAction.java	(revision 33767)
+++ applications/editors/josm/plugins/public_transport/src/org/openstreetmap/josm/plugins/public_transport/actions/RoutePatternAction.java	(revision 33768)
@@ -1828,12 +1828,13 @@
     private double calcOffset(StopReference sr, Vector<SegmentMetric> segmentMetrics) {
         double offset = 0;
-        if ((sr.index + 1) / 2 < segmentMetrics.size()) {
+        int size = segmentMetrics.size();
+        if ((sr.index + 1) / 2 < size) {
             offset = segmentMetrics.elementAt((sr.index + 1) / 2).distance;
             if (sr.index % 2 == 0)
                 offset += sr.pos;
-        } else
-            offset = segmentMetrics.elementAt(segmentMetrics.size() - 1).distance
-                    + segmentMetrics.elementAt(segmentMetrics.size() - 1).length;
-
+        } else if (size > 0) {
+            offset = segmentMetrics.elementAt(size - 1).distance
+                   + segmentMetrics.elementAt(size - 1).length;
+        }
         return offset;
     }
