diff --git a/modules/gui/src/data_viewer/mask_overlay.cc b/modules/gui/src/data_viewer/mask_overlay.cc
index c0c0e6560344c59f75cb95031a1a372086aba0ad..dc18830debf329c45e6869def2f681b572e7952d 100644
--- a/modules/gui/src/data_viewer/mask_overlay.cc
+++ b/modules/gui/src/data_viewer/mask_overlay.cc
@@ -116,7 +116,7 @@ bool MaskOverlay::OnMouseEvent(QMouseEvent* e,  DataViewerPanel* dvp,
         new_poly_=geom::Polygon2();
         add_mode_=true;
       }
-      new_poly_.AddNode(mousepos);
+      new_poly_.AddNode(mousepos-shift_);
     } else {
       if(active_>=0){
         geom::Polygon2 pol=polygons_[active_];