diff --git a/include/road.h b/include/road.h
index 43de16ac15b3dd596a34da50f19da7698f385790..3af83a6a1a6df723a7744e8b117c3ee22c00a878 100644
--- a/include/road.h
+++ b/include/road.h
@@ -12,6 +12,7 @@ class CRoad
   friend class CRoadMap;
   friend class CRoadSegment;
   friend class COpendriveRoadSegment;
+  friend class COSMRoadSegment;
   private:
     unsigned int id;
     double resolution;
diff --git a/src/opendrive/opendrive_junction.cpp b/src/opendrive/opendrive_junction.cpp
index a5bf7063a049fcbf30057276d86e23d765dcc5b0..9651b7ffb977807990e060ea354c76b475b0ba53 100644
--- a/src/opendrive/opendrive_junction.cpp
+++ b/src/opendrive/opendrive_junction.cpp
@@ -109,7 +109,6 @@ void COpendriveJunction::save(OpenDRIVE::junction_type &junction_info)
 
 void COpendriveJunction::convert(CJunction **junction,opendrive_road_map_t &road_map)
 {
-  CRoad *in_left=NULL,*in_right=NULL,*out_left=NULL,*out_right=NULL;
   CRoad *in=NULL,*out=NULL;
   unsigned int from_index,to_index;
 
@@ -118,7 +117,6 @@ void COpendriveJunction::convert(CJunction **junction,opendrive_road_map_t &road
   // add incomming and outgoing roads
   for(unsigned int i=0;i<this->connections.size();i++)
   { 
-    in_left=in_right=out_left=out_right=NULL;
     for(opendrive_road_map_t::iterator it=road_map.begin();it!=road_map.end();it++)
     {
       if(it->first->get_id()==this->connections[i].incomming_road_id)
@@ -127,20 +125,18 @@ void COpendriveJunction::convert(CJunction **junction,opendrive_road_map_t &road
         {
           if((it->second).size()>0)
           {
-            in_right=(it->second)[0];
-            if(!(*junction)->has_incomming_road((it->second)[0]->get_id()))
-              (*junction)->add_incomming_road(in_right);
-            in=in_right;
+            in=(it->second)[0];
+            if(!(*junction)->has_incomming_road(in->get_id()))
+              (*junction)->add_incomming_road(in);
           }
         }
         else if(it->first->has_predecessor() && it->first->is_predecessor_junction() && it->first->get_predecessor_id()==this->id)
         {
           if((it->second).size()>1)
           {
-            in_left=(it->second)[1];
-            if(!(*junction)->has_incomming_road(in_left->get_id()))
-              (*junction)->add_incomming_road(in_left);
-            in=in_left;
+            in=(it->second)[1];
+            if(!(*junction)->has_incomming_road(in->get_id()))
+              (*junction)->add_incomming_road(in);
           }
         }
 
@@ -151,20 +147,18 @@ void COpendriveJunction::convert(CJunction **junction,opendrive_road_map_t &road
         {
           if((it->second).size()>0)
           {
-            out_right=(it->second)[0];
-            if(!(*junction)->has_outgoing_road(out_right->get_id()))
-              (*junction)->add_outgoing_road(out_right);
-            out=out_right;
+            out=(it->second)[0];
+            if(!(*junction)->has_outgoing_road(out->get_id()))
+              (*junction)->add_outgoing_road(out);
           }
         }
         else if(it->first->has_successor() && it->first->is_successor_junction() && it->first->get_successor_id()==this->id)
         {
           if((it->second).size()>1)
           {
-            out_left=(it->second)[1];
-            if(!(*junction)->has_outgoing_road(out_left->get_id()))
-              (*junction)->add_outgoing_road(out_left);
-            out=out_left;
+            out=(it->second)[1];
+            if(!(*junction)->has_outgoing_road(out->get_id()))
+              (*junction)->add_outgoing_road(out);
           }
         }
       }