diff --git a/Sim/Simulation/SpecularSimulation.cpp b/Sim/Simulation/SpecularSimulation.cpp
index dea5693ecd6c1b62c857ba0b097b08649998e18b..c34ee460bc72bdd852e6e0d53cd3488df535e49e 100644
--- a/Sim/Simulation/SpecularSimulation.cpp
+++ b/Sim/Simulation/SpecularSimulation.cpp
@@ -102,7 +102,10 @@ Datafield SpecularSimulation::packResult()
     }
     if (background())
         for (size_t i = 0; i < m_scan->nScan(); i++)
-            vec[i] = background()->addBackground(vec[i]) / m_scan->intensity();
+            vec[i] = background()->addBackground(vec[i]);
+
+    for (size_t i = 0; i < m_scan->nScan(); i++)
+        vec[i] /= m_scan->intensity();
 
     Datafield data({m_scan->coordinateAxis()->clone()}, vec);
     return {data};