diff --git a/Sim/Simulation/DepthprobeSimulation.h b/Sim/Simulation/DepthprobeSimulation.h
index 9cc8145375507a09a8e0ec96ef91ef62c56ab4a1..3c67ad1f882d3da553699266b214ac187387cec6 100644
--- a/Sim/Simulation/DepthprobeSimulation.h
+++ b/Sim/Simulation/DepthprobeSimulation.h
@@ -18,7 +18,6 @@
 #include "Sim/Simulation/ISimulation.h"
 
 class AlphaScan;
-class DepthprobeElement;
 class IAxis;
 class IBeamScan;
 class IFootprintFactor;
@@ -76,9 +75,6 @@ private:
     //... Model components:
     std::unique_ptr<AlphaScan> m_scan;
     std::unique_ptr<IAxis> m_z_axis;
-
-    //... Caches:
-    std::vector<DepthprobeElement> m_depth_eles;
 #endif // SWIG
 };
 
diff --git a/Sim/Simulation/OffspecSimulation.cpp b/Sim/Simulation/OffspecSimulation.cpp
index 146e2654b01efe50eb79269bfd6cd0e865e4b97d..0e98c4c56b62d284a91c019e8f919edeae965b62 100644
--- a/Sim/Simulation/OffspecSimulation.cpp
+++ b/Sim/Simulation/OffspecSimulation.cpp
@@ -33,7 +33,6 @@ OffspecSimulation::OffspecSimulation(const IBeamScan& scan, const MultiLayer& sa
     : ISimulation(sample)
     , m_scan(scan.clone())
     , m_detector(detector.clone())
-    , m_alpha_i_axis(scan.coordinateAxis()->clone())
 {
 }
 
@@ -50,8 +49,6 @@ std::vector<const INode*> OffspecSimulation::nodeChildren() const
 
 void OffspecSimulation::prepareSimulation()
 {
-    ASSERT(m_alpha_i_axis);
-    ASSERT(m_alpha_i_axis->size() >= 1);
     m_pixels.reserve(m_detector->totalSize());
     for (size_t i = 0; i < m_detector->totalSize(); ++i)
         m_pixels.emplace_back(m_detector->createPixel(i));
@@ -122,22 +119,20 @@ bool OffspecSimulation::force_polarized() const
 
 size_t OffspecSimulation::nElements() const
 {
-    return m_detector->totalSize() * m_alpha_i_axis->size();
+    return m_detector->totalSize() * m_scan->coordinateAxis()->size();
 }
 
 SimulationResult OffspecSimulation::packResult()
 {
 
     // update intensity map
-    ASSERT(m_alpha_i_axis);
-    Datafield intensity_map({m_alpha_i_axis->clone(), m_detector->axis(1).clone()});
+    Datafield intensity_map({m_scan->coordinateAxis()->clone(), m_detector->axis(1).clone()});
     intensity_map.setAllTo(0.);
 
     size_t ny = m_detector->axis(1).size();
 
-    // Normalize, apply detector resolution and transfer detector image corresponding to
-    // alpha_i = m_alpha_i_axis->bin(index)
-    for (size_t j = 0; j < m_alpha_i_axis->size(); ++j) {
+    // Normalize, apply detector resolution and transfer detector image
+    for (size_t j = 0; j < m_scan->coordinateAxis()->size(); ++j) {
         Datafield detector_image({m_detector->axis(0).clone(), m_detector->axis(1).clone()});
         size_t N = detector_image.size();
         for (size_t i = 0; i < N; ++i)
diff --git a/Sim/Simulation/OffspecSimulation.h b/Sim/Simulation/OffspecSimulation.h
index 46ab57cb297a8c3dd1279003b431dd02eb6ada8d..3f05b11f6c5a1bd83a19e100413f4fbeb67d0548 100644
--- a/Sim/Simulation/OffspecSimulation.h
+++ b/Sim/Simulation/OffspecSimulation.h
@@ -19,7 +19,6 @@
 #include "Sim/Simulation/ISimulation.h"
 
 class Datafield;
-class IAxis;
 class IBeamScan;
 class IPixel;
 class OffspecDetector;
@@ -77,8 +76,7 @@ private:
 
     //... Caches:
     OwningVector<const IPixel> m_pixels; //!< All unmasked pixels inside ROI.
-    std::unique_ptr<const IAxis> m_alpha_i_axis;
-#endif // SWIG
+#endif                                   // SWIG
 };
 
 #endif // BORNAGAIN_SIM_SIMULATION_OFFSPECSIMULATION_H
diff --git a/Sim/Simulation/ScatteringSimulation.h b/Sim/Simulation/ScatteringSimulation.h
index 221fc563a851489e5078622b06846c72538d12b8..73fd544bf164c7044ac39e520b4d3d3d73a6f699 100644
--- a/Sim/Simulation/ScatteringSimulation.h
+++ b/Sim/Simulation/ScatteringSimulation.h
@@ -19,7 +19,6 @@
 #include "Sim/Simulation/ISimulation.h"
 
 class Beam;
-class DiffuseElement;
 class IDetector;
 class IPixel;
 class IShape2D;
@@ -89,7 +88,6 @@ private:
     std::unique_ptr<IDetector> m_detector;
 
     //... Caches:
-    std::vector<DiffuseElement> m_eles;
     std::vector<size_t> m_active_indices; //!< The sequence of bin indices (unmasked, in ROI)
     OwningVector<const IPixel> m_pixels;  //!< All unmasked pixels inside ROI.