diff --git a/GUI/View/Projection/IntensityDataProjectionsWidget.cpp b/GUI/View/Projection/IntensityDataProjectionsWidget.cpp
index 92afe6feb2ca0b3d6a9df9d3ce39a56879bc00be..897a0787fcd547bc789a23015cf7e6c19a50b54d 100644
--- a/GUI/View/Projection/IntensityDataProjectionsWidget.cpp
+++ b/GUI/View/Projection/IntensityDataProjectionsWidget.cpp
@@ -79,6 +79,11 @@ void IntensityDataProjectionsWidget::setContext()
     m_selectionModel.reset(new QItemSelectionModel(containerModel));
 
     m_projectionsCanvas->setSelectionModel(m_selectionModel.get());
+
+    // The following line must come before 'm_projectionsCanvas->setContext()'!
+    // It prevents problem with switching between datasets in projectoin mode.
+    m_projectionsWidget->disconnectItem();
+
     m_projectionsCanvas->setContext(currentIntensityDataItem());
     m_projectionsWidget->setIntensityItem(currentIntensityDataItem());