diff --git a/GUI/Model/Data/Data2DItem.cpp b/GUI/Model/Data/Data2DItem.cpp
index 778141e974a2d4a7dff47c566c9dbc2f7050fb3b..ca4527487a262d90985ef9c27dfffe8ca1bda7f5 100644
--- a/GUI/Model/Data/Data2DItem.cpp
+++ b/GUI/Model/Data/Data2DItem.cpp
@@ -130,6 +130,11 @@ void Data2DItem::copyZRangeFromItem(DataItem* sourceItem)
     setZrange(source->lowerZ(), source->upperZ());
 }
 
+bool Data2DItem::isZoomed() const
+{
+    return lowerX() > xMin() || upperX() < xMax() || lowerY() > yMin() || upperY() < yMax();
+}
+
 QCPColorGradient Data2DItem::currentGradientQCP() const
 {
     if (gradient_map.contains(currentGradient()))
diff --git a/GUI/Model/Data/Data2DItem.h b/GUI/Model/Data/Data2DItem.h
index e7cf0075e06a66dffb907d4e05cb3de7ac291845..097aa8f024dd55dd1ec3b0e07bc910b1c0fd5f7e 100644
--- a/GUI/Model/Data/Data2DItem.h
+++ b/GUI/Model/Data/Data2DItem.h
@@ -48,6 +48,7 @@ public:
     double upperZ() const;
     void setZrange(double zmin, double zmax);
     void copyZRangeFromItem(DataItem* sourceItem);
+    bool isZoomed() const;
 
     //! Color scheme of the color map
     QCPColorGradient currentGradientQCP() const;
diff --git a/GUI/View/Mask/MaskEditorCanvas.cpp b/GUI/View/Mask/MaskEditorCanvas.cpp
index f0164c088293a49ff0f8cf2fe104b1be8403b8c2..14089a9872d7ae1531e3477bcff1c3a087be5ce4 100644
--- a/GUI/View/Mask/MaskEditorCanvas.cpp
+++ b/GUI/View/Mask/MaskEditorCanvas.cpp
@@ -101,30 +101,13 @@ void MaskEditorCanvas::onResetViewRequest()
 {
     m_view->onResetViewRequest();
 
-    if (isAxisRangeMatchData())
-        setZoomToROI();
-    else
+    if (m_data2DItem->isZoomed())
         m_data2DItem->resetView();
+    else
+        setZoomToROI();
     gProjectDocument.value()->setModified();
 }
 
-//! Returns true if IntensityData is currently at 100% zoom level
-
-bool MaskEditorCanvas::isAxisRangeMatchData() const
-{
-    ASSERT(m_data2DItem);
-
-    if (m_data2DItem->lowerX() != m_data2DItem->xMin())
-        return false;
-    if (m_data2DItem->upperX() != m_data2DItem->xMax())
-        return false;
-    if (m_data2DItem->lowerY() != m_data2DItem->yMin())
-        return false;
-    if (m_data2DItem->upperY() != m_data2DItem->yMax())
-        return false;
-    return true;
-}
-
 void MaskEditorCanvas::setZoomToROI()
 {
     if (MaskContainerItem* maskContainer = m_data2DItem->maskContainerItem()) {
diff --git a/GUI/View/Mask/MaskEditorCanvas.h b/GUI/View/Mask/MaskEditorCanvas.h
index f47e6bf840bd4a3edfbffed5cc7d292f254957da..502864ce888dd90c078b5fbd8de03a8c6a6dfd07 100644
--- a/GUI/View/Mask/MaskEditorCanvas.h
+++ b/GUI/View/Mask/MaskEditorCanvas.h
@@ -52,7 +52,6 @@ public slots:
     void onResetViewRequest();
 
 private:
-    bool isAxisRangeMatchData() const;
     void setZoomToROI();
 
     MaskGraphicsScene* m_scene;