diff --git a/Device/Mask/DetectorMask.cpp b/Device/Mask/DetectorMask.cpp
index 0b1cbf241b866962303ff427b058ae524ae390c4..9cd83470629c9fc86c0159a54ebe1ab319e5f31c 100644
--- a/Device/Mask/DetectorMask.cpp
+++ b/Device/Mask/DetectorMask.cpp
@@ -43,12 +43,7 @@ DetectorMask::DetectorMask()
 DetectorMask::DetectorMask(const IAxis& xAxis, const IAxis& yAxis)
     : DetectorMask()
 {
-    m_masked->clear();
-
-    m_masked->addAxis(xAxis);
-    m_masked->addAxis(yAxis);
-
-    //    m_masked.reset(new Powerfield<bool>(xAxis, yAxis));
+    m_masked.reset(new Powerfield<bool>(xAxis, yAxis));
 
     process_masks();
 }
@@ -82,10 +77,7 @@ void DetectorMask::addMask(const IShape2D& shape, bool mask_value)
 
 void DetectorMask::initMaskData(const IAxis& xAxis, const IAxis& yAxis)
 {
-    m_masked->clear();
-
-    m_masked->addAxis(xAxis);
-    m_masked->addAxis(yAxis);
+    m_masked.reset(new Powerfield<bool>(xAxis, yAxis));
 
     process_masks();
 }