diff --git a/GUI/View/Mask/MaskGraphicsScene.cpp b/GUI/View/Mask/MaskGraphicsScene.cpp
index 619993c89deec20ea298cc04eb74dc82a6e1abd8..e0cd553c66bcd7de1a6cfe358e2ffa83c8559234 100644
--- a/GUI/View/Mask/MaskGraphicsScene.cpp
+++ b/GUI/View/Mask/MaskGraphicsScene.cpp
@@ -33,9 +33,8 @@ const qreal min_distance_to_create_rect = 10;
 
 bool isRectangleShapeMode(MaskEditorFlags::Activity activity)
 {
-    return (activity == MaskEditorFlags::RECTANGLE_MODE)
-           || (activity == MaskEditorFlags::ELLIPSE_MODE)
-           || (activity == MaskEditorFlags::ROI_MODE);
+    return activity == MaskEditorFlags::RECTANGLE_MODE || activity == MaskEditorFlags::ELLIPSE_MODE
+           || activity == MaskEditorFlags::ROI_MODE;
 }
 
 bool isLineMode(MaskEditorFlags::Activity activity)
@@ -257,6 +256,9 @@ void MaskGraphicsScene::mousePressEvent(QGraphicsSceneMouseEvent* event)
         return;
     }
 
+    if (!isValidMouseClick(event))
+        return QGraphicsScene::mousePressEvent(event);
+
     if (isValidForPolygonDrawing(event))
         processPolygonItem(event);
     else if (isValidForLineDrawing(event))
@@ -490,8 +492,6 @@ bool MaskGraphicsScene::isValidForRectangleShapeDrawing(QGraphicsSceneMouseEvent
 {
     if (m_drawing_in_progress)
         return false;
-    if (!isValidMouseClick(event))
-        return false;
     if (!::isRectangleShapeMode(m_activity))
         return false;
     if (isAreaContains(event, MaskType::SIZEHANDLE))
@@ -509,8 +509,6 @@ bool MaskGraphicsScene::isValidForRectangleShapeDrawing(QGraphicsSceneMouseEvent
 
 bool MaskGraphicsScene::isValidForPolygonDrawing(QGraphicsSceneMouseEvent* event) const
 {
-    if (!isValidMouseClick(event))
-        return false;
     if (m_activity != MaskEditorFlags::POLYGON_MODE)
         return false;
     if (!m_drawing_in_progress) {
@@ -524,8 +522,6 @@ bool MaskGraphicsScene::isValidForPolygonDrawing(QGraphicsSceneMouseEvent* event
 
 bool MaskGraphicsScene::isValidForLineDrawing(QGraphicsSceneMouseEvent* event) const
 {
-    if (!isValidMouseClick(event))
-        return false;
     if (m_drawing_in_progress)
         return false;
     if (!::isLineMode(m_activity))
@@ -540,10 +536,8 @@ bool MaskGraphicsScene::isValidForLineDrawing(QGraphicsSceneMouseEvent* event) c
 
 //! Returns true if MaskAllItem can be drawn. Only one item of such type is allowed.
 
-bool MaskGraphicsScene::isValidForMaskAllDrawing(QGraphicsSceneMouseEvent* event) const
+bool MaskGraphicsScene::isValidForMaskAllDrawing(QGraphicsSceneMouseEvent*) const
 {
-    if (!isValidMouseClick(event))
-        return false;
     if (m_drawing_in_progress)
         return false;
     if (m_activity != MaskEditorFlags::MASKALL_MODE)
@@ -619,8 +613,7 @@ void MaskGraphicsScene::makeViewAtMousePosSelected(QGraphicsSceneMouseEvent* eve
 
 void MaskGraphicsScene::processRectangleOrEllipseItem(QGraphicsSceneMouseEvent* event)
 {
-    if (!m_drawing_in_progress)
-        m_drawing_in_progress = true;
+    m_drawing_in_progress = true;
 
     const QPointF click_pos = event->buttonDownScenePos(Qt::LeftButton);
     const QPointF mouse_pos = event->scenePos();