diff --git a/routing-server/src/main/java/de/fuberlin/navigator/routingserver/utility/ApplyShortestPath.java b/routing-server/src/main/java/de/fuberlin/navigator/routingserver/utility/ApplyShortestPath.java
index 110a018aae89d37963835174aaef479252af428a..9ac4ae3781dfe8b1696c1d30b4f9aaf3d70996d1 100644
--- a/routing-server/src/main/java/de/fuberlin/navigator/routingserver/utility/ApplyShortestPath.java
+++ b/routing-server/src/main/java/de/fuberlin/navigator/routingserver/utility/ApplyShortestPath.java
@@ -2,6 +2,7 @@ package de.fuberlin.navigator.routingserver.utility;
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Random;
@@ -263,6 +264,23 @@ public class ApplyShortestPath {
       
             Segment segment = roadnetwork.getSegmentsMap().get(edge.getId());
             List<Coordinates> geometryList= segment.getGeometryList();
+
+            // handle reversed edges (the edges that are added if the street is no oneway)
+            // find right geometryList order by calculating distance between last element of coordinateList and geometryList
+            Point last = coordinateList.get(coordinateList.size() - 1);
+            Coordinates firstGeometry = geometryList.get(0);
+            Coordinates lastGeometry = geometryList.get(geometryList.size() -1);
+            int distanceToFirst = GeoUtils.haversine((float)last.getLat(), (float)last.getLon(), firstGeometry.getLat(), firstGeometry.getLon());
+            int distanceToLast = GeoUtils.haversine((float)last.getLat(), (float)last.getLon(), lastGeometry.getLat(), lastGeometry.getLon());
+
+            if(distanceToLast < distanceToFirst){
+                //reverse geometryList
+                List<Coordinates> tempList = new ArrayList<Coordinates>(geometryList);
+                Collections.reverse(tempList);
+                geometryList = tempList;
+            }
+
+
             for(Coordinates coordinates : geometryList){
                 coordinateList.add(new Point(coordinates.getLat(), coordinates.getLon()));
             }