diff --git a/Code/Visualization/otbVectorDataActionHandler.h b/Code/Visualization/otbVectorDataActionHandler.h
index 5e850e74ca109dbb0b7d3f0d5a8cd92962d81c1b..d1f062e25232c3179a83bfc60a9b6c7ec9da0aea 100644
--- a/Code/Visualization/otbVectorDataActionHandler.h
+++ b/Code/Visualization/otbVectorDataActionHandler.h
@@ -94,11 +94,19 @@ public:
           = sourceWidget->GetScreenToImageTransform()->TransformPoint(
           screenPoint);
 
+        if( m_IsContinuousPoint == false )
+          {
+          imagePoint[0] = static_cast<unsigned int>(imagePoint[0]) + 0.5;
+          imagePoint[1] = static_cast<unsigned int>(imagePoint[1]) + 0.5;
+          }
+
+
         // Transform to index
         typename ModelType::VertexType index;
         index[0] = imagePoint[0];
         index[1] = imagePoint[1];
 
+
         //Add Offset
         index[0] += m_Offset[0];
         index[1] += m_Offset[1];
@@ -178,18 +186,23 @@ public:
   itkSetMacro(Offset, OffsetType);
   itkGetMacro(Offset, OffsetType);
 
-  /** Set/Get End polygon Mouse butto */
+  /** Set/Get End polygon Mouse button */
   itkSetMacro(EndMouseButton, int);
   itkGetMacro(EndMouseButton, int);
 
-  /** Set/Get Add polygon Mouse butto */
+  /** Set/Get Add polygon Mouse button */
   itkSetMacro(AddMouseButton, int);
   itkGetMacro(AddMouseButton, int);
 
+  /** Set/Get if Screen Point Centered */
+  itkSetMacro(IsContinuousPoint, bool);
+  itkGetMacro(IsContinuousPoint, bool);
+
 protected:
   /** Constructor */
   VectorDataActionHandler() :
-    m_Offset(), m_View(), m_Model(), m_EndMouseButton(3), m_AddMouseButton(1)
+    m_Offset(), m_View(), m_Model(), m_EndMouseButton(3),
+    m_AddMouseButton(1), m_IsContinuousPoint(true)
   {
   }
 
@@ -222,6 +235,9 @@ private:
   /// Add polygon Mouse button
   int m_AddMouseButton;  
 
+  // Is image point is continous  otherwise centered
+  bool m_IsContinuousPoint;
+
 }; // end class
 } // end namespace otb