diff --git a/Sim/Simulation/DepthprobeSimulation.cpp b/Sim/Simulation/DepthprobeSimulation.cpp
index 1f6ffe5b3c87f0dbdc3c1a1c90cdf9d7955d313a..e7a91b9b376653da011c591ebd0a2fba1d1b18c8 100644
--- a/Sim/Simulation/DepthprobeSimulation.cpp
+++ b/Sim/Simulation/DepthprobeSimulation.cpp
@@ -172,9 +172,14 @@ void DepthprobeSimulation::addBackgroundIntensity(size_t, size_t)
 
 void DepthprobeSimulation::addDataToCache(double weight)
 {
-    ASSERT(m_depth_eles.size() == m_cache.size());
-    for (size_t i = 0, size = m_depth_eles.size(); i < size; ++i)
-        m_cache[i] += m_depth_eles[i].getIntensities() * weight;
+    const size_t N0 = alphaAxis()->size();
+    const size_t N1 = zAxis()->size();
+    ASSERT(m_depth_eles.size() == N0);
+    // ASSERT(m_cache.size() == N0 * N1);
+
+    for (size_t j = 0; j < N0; ++j)
+        for (size_t i = 0; i < N1; ++i)
+            m_cache[j][i] += m_depth_eles[j].getIntensities()[i] * weight;
 }
 
 void DepthprobeSimulation::validateParametrization(const ParameterDistribution& par_distr) const