diff --git a/GUI/View/Canvas/ProjectionsEditorCanvas.cpp b/GUI/View/Canvas/ProjectionsEditorCanvas.cpp
index d931d9f040f952eb8a857961e7d23d08913733b5..79fcd816cc6007d66cb06986d5a78029d2a28a33 100644
--- a/GUI/View/Canvas/ProjectionsEditorCanvas.cpp
+++ b/GUI/View/Canvas/ProjectionsEditorCanvas.cpp
@@ -77,10 +77,19 @@ void ProjectionsEditorCanvas::updateCanvas(Data2DItem* data2DItem)
 
     m_data2DItem = data2DItem;
 
-    setConnected(true);
+    auto* cm = m_scene->colorMap();
+    ASSERT(cm);
+    connect(cm->eventHelper(), &PlotEventHelper::enteringPlot, this,
+            &ProjectionsEditorCanvas::onEnteringColorMap, Qt::UniqueConnection);
+    connect(cm->eventHelper(), &PlotEventHelper::leavingPlot, this,
+            &ProjectionsEditorCanvas::onLeavingColorMap, Qt::UniqueConnection);
+    connect(cm->eventHelper(), &PlotEventHelper::positionChanged, this,
+            &ProjectionsEditorCanvas::onPositionChanged, Qt::UniqueConnection);
+    connect(cm, &ColorMap::marginsChanged, this, &ProjectionsEditorCanvas::marginsChanged,
+            Qt::UniqueConnection);
 
     m_statusLabel->reset();
-    m_statusLabel->addPlot(m_scene->colorMap());
+    m_statusLabel->addPlot(cm);
 
     onLeavingColorMap();
     m_scene->onActivityChanged(m_currentActivity);
@@ -88,7 +97,16 @@ void ProjectionsEditorCanvas::updateCanvas(Data2DItem* data2DItem)
 
 void ProjectionsEditorCanvas::resetCanvas()
 {
-    setConnected(false);
+    auto* cm = m_scene->colorMap();
+    ASSERT(cm);
+    disconnect(cm->eventHelper(), &PlotEventHelper::enteringPlot, this,
+	       &ProjectionsEditorCanvas::onEnteringColorMap);
+    disconnect(cm->eventHelper(), &PlotEventHelper::leavingPlot, this,
+	       &ProjectionsEditorCanvas::onLeavingColorMap);
+    disconnect(cm->eventHelper(), &PlotEventHelper::positionChanged, this,
+	       &ProjectionsEditorCanvas::onPositionChanged);
+    disconnect(cm, &ColorMap::marginsChanged, this, &ProjectionsEditorCanvas::marginsChanged);
+
     m_data2DItem = nullptr;
     m_scene->dissociateItems();
 }
@@ -141,31 +159,3 @@ void ProjectionsEditorCanvas::setProjectionsCanvasMode(MaskFlags::MaskMode mask_
     m_scene->onActivityChanged(mask_mode);
     onLeavingColorMap();
 }
-
-void ProjectionsEditorCanvas::setConnected(bool isConnected)
-{
-    auto* cm = m_scene->colorMap();
-    if (!cm)
-        return;
-
-    if (isConnected) {
-        connect(cm->eventHelper(), &PlotEventHelper::enteringPlot, this,
-                &ProjectionsEditorCanvas::onEnteringColorMap, Qt::UniqueConnection);
-        connect(cm->eventHelper(), &PlotEventHelper::leavingPlot, this,
-                &ProjectionsEditorCanvas::onLeavingColorMap, Qt::UniqueConnection);
-        connect(cm->eventHelper(), &PlotEventHelper::positionChanged, this,
-                &ProjectionsEditorCanvas::onPositionChanged, Qt::UniqueConnection);
-        connect(cm, &ColorMap::marginsChanged, this, &ProjectionsEditorCanvas::marginsChanged,
-                Qt::UniqueConnection);
-    }
-
-    else {
-        disconnect(cm->eventHelper(), &PlotEventHelper::enteringPlot, this,
-                   &ProjectionsEditorCanvas::onEnteringColorMap);
-        disconnect(cm->eventHelper(), &PlotEventHelper::leavingPlot, this,
-                   &ProjectionsEditorCanvas::onLeavingColorMap);
-        disconnect(cm->eventHelper(), &PlotEventHelper::positionChanged, this,
-                   &ProjectionsEditorCanvas::onPositionChanged);
-        disconnect(cm, &ColorMap::marginsChanged, this, &ProjectionsEditorCanvas::marginsChanged);
-    }
-}
diff --git a/GUI/View/Canvas/ProjectionsEditorCanvas.h b/GUI/View/Canvas/ProjectionsEditorCanvas.h
index acb8d0c1f7cec7cb0f3b88e2e906e7b5b500499b..bdb181fa83ca9bfc5c564941507de92b72d98ec4 100644
--- a/GUI/View/Canvas/ProjectionsEditorCanvas.h
+++ b/GUI/View/Canvas/ProjectionsEditorCanvas.h
@@ -57,8 +57,6 @@ private slots:
     void onPositionChanged(double x, double y);
 
 private:
-    void setConnected(bool isConnected);
-
     MaskGraphicsScene* m_scene;
     MaskGraphicsView* m_view;
     PlotStatusLabel* m_statusLabel;