diff --git a/Code/Common/otbLabelObjectToPolygonFunctor.txx b/Code/Common/otbLabelObjectToPolygonFunctor.txx
index e51f63c1f801c6dabd94fdbb67da2c343dec7a53..da2dde0572f941c5e4dac689b8e3d46a1215994e 100644
--- a/Code/Common/otbLabelObjectToPolygonFunctor.txx
+++ b/Code/Common/otbLabelObjectToPolygonFunctor.txx
@@ -515,7 +515,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon>
       }
 
     // if the end point is not on line n, add an intermediate point
-    if(line+m_LineOffset != endPoint[1] && m_CurrentPoint[0]> endPoint[0]+1)
+    if(static_cast<int>(line+m_LineOffset) != endPoint[1] && m_CurrentPoint[0]> endPoint[0]+1)
       {
       m_CurrentPoint[0] = endPoint[0]+1;
       newPoint = m_CurrentPoint;
@@ -576,7 +576,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon>
       }
 
     // if the end point is not on line n, add an intermediate point
-    if(line+m_LineOffset != endPoint[1] && m_CurrentPoint[0]< endPoint[0]-1 )
+    if( static_cast<int>(line+m_LineOffset) != endPoint[1] && m_CurrentPoint[0]< endPoint[0]-1 )
       {
       m_CurrentPoint[0] = endPoint[0]-1;
       newPoint = m_CurrentPoint;