diff --git a/Code/FeatureExtraction/otbRoadExtractionFilter.h b/Code/FeatureExtraction/otbRoadExtractionFilter.h
index 8d28417f1459d1c39a89bcedc7f9fb6b737a7c7c..d656415e526d730e0938bf958fb17b1040364ffb 100644
--- a/Code/FeatureExtraction/otbRoadExtractionFilter.h
+++ b/Code/FeatureExtraction/otbRoadExtractionFilter.h
@@ -25,6 +25,7 @@ PURPOSE.  See the above copyright notices for more information.
 #include "otbVectorImage.h"
 #include "otbImageToPathListFilter.h"
 #include "otbSpectralAngleDistanceImageFilter.h"
+#include "itkSqrtImageFilter.h"
 #include "otbNeighborhoodScalarProductFilter.h"
 #include "otbNonMaxRemovalByDirectionFilter.h"
 #include "otbVectorizationPathListFilter.h"
@@ -43,6 +44,7 @@ namespace otb
  * \brief This class performs the extraction of roads from an image.
  * 
  * \sa SpectralAngleDistanceImageFilter
+ * \sa itk::SqrtImageFilter
  * \sa itk::GradientRecursiveGaussianImageFilter
  * \sa NeighborhoodScalarProductFilter
  * \sa RemoveIsolatedByDirectionFilter
@@ -90,6 +92,10 @@ template <class TInputImage, class TOutputPath>
                         InputImageType,
                         SpectralAngleType>                      SpectralAngleDistanceImageFilterType;
 
+    typedef itk::SqrtImageFilter<
+                        SpectralAngleType,
+                        SpectralAngleType>                      SquareRootImageFilterType;
+
     typedef itk::GradientRecursiveGaussianImageFilter<
                         SpectralAngleType,
                         CovariantVectorImageType>               GradientFilterType;
@@ -188,6 +194,7 @@ template <class TInputImage, class TOutputPath>
 
     /** SpectralAngleDistanceImageFilter use by the composite filter */
     typename SpectralAngleDistanceImageFilterType::Pointer      m_SpectralAngleDistanceImageFilter;
+    typename SquareRootImageFilterType::Pointer                 m_SquareRootImageFilter;
     typename GradientFilterType::Pointer                        m_GradientFilter;
     typename NeighborhoodScalarProductFilterType::Pointer       m_NeighborhoodScalarProductFilter;
     typename RemoveIsolatedByDirectionFilterType::Pointer       m_RemoveIsolatedByDirectionFilter;
diff --git a/Code/FeatureExtraction/otbRoadExtractionFilter.txx b/Code/FeatureExtraction/otbRoadExtractionFilter.txx
index 7c1f76e7573a7f557ca08a80fa7eacb4ba045290..c9a95af0338334212c95b2a56821cc56c312e0a7 100644
--- a/Code/FeatureExtraction/otbRoadExtractionFilter.txx
+++ b/Code/FeatureExtraction/otbRoadExtractionFilter.txx
@@ -34,6 +34,7 @@ RoadExtractionFilter<TInputImage, TOutputPath>
         this->SetNumberOfRequiredOutputs(1);
 
         m_SpectralAngleDistanceImageFilter = SpectralAngleDistanceImageFilterType::New();
+	m_SquareRootImageFilter = SquareRootImageFilterType::New();
         m_GradientFilter = GradientFilterType::New();
         m_NeighborhoodScalarProductFilter = NeighborhoodScalarProductFilterType::New();
         m_RemoveIsolatedByDirectionFilter = RemoveIsolatedByDirectionFilterType::New();
@@ -109,8 +110,10 @@ RoadExtractionFilter<TInputImage, TOutputPath>
   // 
   m_SpectralAngleDistanceImageFilter->SetInput(inputImage);
   m_SpectralAngleDistanceImageFilter->SetReferencePixel(m_ReferencePixel);
+
+  m_SquareRootImageFilter->SetInput(m_SpectralAngleDistanceImageFilter->GetOutput());
   
-  m_GradientFilter->SetInput(m_SpectralAngleDistanceImageFilter->GetOutput());
+  m_GradientFilter->SetInput(m_SquareRootImageFilter->GetOutput());
   /** Sigma calculated with the alpha and image resolution parameters */
   m_GradientFilter->SetSigma(static_cast<SigmaType>(m_Alpha * (1.2/m_Resolution + 1.) ));
   
diff --git a/Testing/Code/Common/CMakeLists.txt b/Testing/Code/Common/CMakeLists.txt
index 5ac92f50c9a5b5c4a4c00fbca7f9a09e0fd1c246..3593de3bdc336df29db2c087d9b5bfc740465601 100644
--- a/Testing/Code/Common/CMakeLists.txt
+++ b/Testing/Code/Common/CMakeLists.txt
@@ -364,7 +364,7 @@ ADD_TEST(coTvDrawPathListFilterWithValue ${COMMON_TESTS}
 		${TEMP}/coTvDrawPathListFilterWithValueOutput.png
 )
 
-# -------  otb::DrawListFilter -------------------------------------------
+# -------  otb::DrawPathFilter -------------------------------------------
 
 ADD_TEST(coTuDrawPatFilterNew ${COMMON_TESTS}
 otbDrawPathFilterNew
diff --git a/Testing/Code/FeatureExtraction/otbDrawPath.cxx b/Testing/Code/FeatureExtraction/otbDrawPath.cxx
index 80b4d9b5935da826a7c9f8af7c934a66050d8c49..031ae6919b11825eeec1e6d2698c9c69e1422895 100644
--- a/Testing/Code/FeatureExtraction/otbDrawPath.cxx
+++ b/Testing/Code/FeatureExtraction/otbDrawPath.cxx
@@ -78,14 +78,14 @@ int otbDrawPathDessinCarre( int argc, char * argv[] )
         VertexList->AddVertex(cindex);
         
 	/*2eme Segment*/	
-        pos[0]=130;
+        pos[0]=90;
         pos[1]=130;
 	image->TransformPhysicalPointToContinuousIndex(pos,cindex);
         VertexList->AddVertex(cindex);
 
 
         /*3eme Segment*/	
-        pos[0]=130;
+        pos[0]=90;
         pos[1]= 30;
 	image->TransformPhysicalPointToContinuousIndex(pos,cindex);
         VertexList->AddVertex(cindex);