diff --git a/Device/Detector/IDetector.cpp b/Device/Detector/IDetector.cpp
index 2669634b5bc53400d9ce345187495b0ebab82269..8418fcdac4a2e726547867c40e60be7fc12f0edd 100644
--- a/Device/Detector/IDetector.cpp
+++ b/Device/Detector/IDetector.cpp
@@ -197,13 +197,6 @@ std::vector<const INode*> IDetector::nodeChildren() const
     return std::vector<const INode*>() << &m_polAnalyzer << m_resolution.get();
 }
 
-void IDetector::iterateOverNonMaskedPoints(std::function<void(const_iterator)> func) const
-{
-    for (auto it = SimulationAreaIterator::createBegin(this);
-         it != SimulationAreaIterator::createEnd(this); ++it)
-        func(it);
-}
-
 size_t IDetector::roiToFullIndex(const size_t i) const
 {
     if (m_explicitROI.size() != 2)
diff --git a/Device/Detector/IDetector.h b/Device/Detector/IDetector.h
index b590c0770faa5c492d08720b29f0e15162f01853..396fb68cc1f67f869ffa6c1a2c9e4b2ae494f86f 100644
--- a/Device/Detector/IDetector.h
+++ b/Device/Detector/IDetector.h
@@ -114,11 +114,6 @@ public:
     //! Applies the detector resolution to the given intensity maps
     void applyDetectorResolution(Datafield* intensity_map) const;
 
-    //! Iterate over all non-masked points within "region of interest".
-    //! If no region of interest is explicitly defined, then the whole detector is taken as
-    //! "region of interest".
-    void iterateOverNonMaskedPoints(std::function<void(const_iterator)> func) const;
-
     //! True if a region of interest is explicitly set.
     bool hasExplicitRegionOfInterest() const;