diff --git a/Sim/Simulation/SpecularSimulation.cpp b/Sim/Simulation/SpecularSimulation.cpp
index 6f884c241b0d0e2730064fc4d2c7227176bab957..1335e6b3586bd5f475a312382353110300273ea7 100644
--- a/Sim/Simulation/SpecularSimulation.cpp
+++ b/Sim/Simulation/SpecularSimulation.cpp
@@ -109,7 +109,10 @@ SimulationResult 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, simCoordSystem()};