diff --git a/GUI/Model/ToCore/SimulationToCore.cpp b/GUI/Model/ToCore/SimulationToCore.cpp
index f1e2d9feacc871a6a91d1da251dcec9e984b4e6c..cbcff76d519329efa1fce8a07584bbd9fc10272e 100644
--- a/GUI/Model/ToCore/SimulationToCore.cpp
+++ b/GUI/Model/ToCore/SimulationToCore.cpp
@@ -86,7 +86,7 @@ std::unique_ptr<ScanResolution> createScanResolution(const BeamDistributionItem*
         return nullptr;
 
     const double deviation = distr_item->deviation(scale);
-    return std::unique_ptr<ScanResolution>(scanAbsoluteResolution(*ranged_distr, deviation));
+    return std::unique_ptr<ScanResolution>(new ScanResolution(*ranged_distr, deviation));
 }
 
 void setSimulationOptions(ISimulation* simulation, const SimulationOptionsItem& item)
diff --git a/Sim/Scan/AlphaScan.cpp b/Sim/Scan/AlphaScan.cpp
index fb06d9a3e76716bb691af4b1b747fd1bea155716..1bcfc68c3becec4b37703457da52c860b73f7bdb 100644
--- a/Sim/Scan/AlphaScan.cpp
+++ b/Sim/Scan/AlphaScan.cpp
@@ -111,7 +111,7 @@ void AlphaScan::setWavelengthResolution(const ScanResolution* resolution)
 
 void AlphaScan::setAbsoluteWavelengthResolution(const IRangedDistribution& distr, double std_dev)
 {
-    std::unique_ptr<ScanResolution> resolution(scanAbsoluteResolution(distr, std_dev));
+    std::unique_ptr<ScanResolution> resolution(new ScanResolution(distr, std_dev));
     setWavelengthResolution(resolution.get());
 }
 
@@ -122,7 +122,7 @@ void AlphaScan::setAngleResolution(const ScanResolution* resolution)
 
 void AlphaScan::setAbsoluteAngularResolution(const IRangedDistribution& distr, double std_dev)
 {
-    std::unique_ptr<ScanResolution> resolution(scanAbsoluteResolution(distr, std_dev));
+    std::unique_ptr<ScanResolution> resolution(new ScanResolution(distr, std_dev));
     setAngleResolution(resolution.get());
 }
 
diff --git a/Sim/Scan/QzScan.cpp b/Sim/Scan/QzScan.cpp
index 0845e7d215b1f20b43fb1939ec3c9de6ab674daf..d2958d838e1f31d148841745dc31f5d6905ecaa8 100644
--- a/Sim/Scan/QzScan.cpp
+++ b/Sim/Scan/QzScan.cpp
@@ -115,21 +115,21 @@ CoordSystem1D* QzScan::scanCoordSystem() const
 
 void QzScan::setRelativeQResolution(const IRangedDistribution& distr, double rel_dev)
 {
-    m_resolution.reset(scanAbsoluteResolution(distr, 1.));
+    m_resolution.reset(new ScanResolution(distr, 1.));
     m_relative_resolution = true;
     m_resol_width = {rel_dev};
 }
 
 void QzScan::setAbsoluteQResolution(const IRangedDistribution& distr, double std_dev)
 {
-    m_resolution.reset(scanAbsoluteResolution(distr, 1.));
+    m_resolution.reset(new ScanResolution(distr, 1.));
     m_resol_width = {std_dev};
 }
 
 void QzScan::setVectorResolution(const IRangedDistribution& distr,
                                  const std::vector<double>& std_devs)
 {
-    m_resolution.reset(scanAbsoluteResolution(distr, 1.));
+    m_resolution.reset(new ScanResolution(distr, 1.));
     ASSERT(std_devs.size() > 1);
     m_resol_width = std_devs;
 }
diff --git a/Tests/SimFactory/MakeSimulations.cpp b/Tests/SimFactory/MakeSimulations.cpp
index 5b8433c1f4069533b1e52a04d12bdcd9a30eae31..61af832f39201a95fc13bde7f96ba07a78bf8870 100644
--- a/Tests/SimFactory/MakeSimulations.cpp
+++ b/Tests/SimFactory/MakeSimulations.cpp
@@ -420,10 +420,10 @@ test::makeSimulation::SpecularDivergentBeam(const MultiLayer& sample)
     AlphaScan scan(wavelength, FixedBinAxis("axis", number_of_bins, min_angle, max_angle));
 
     RangedDistributionGaussian wl_distr(n_integration_points, /*sigma_factor = */ 2.0);
-    std::unique_ptr<ScanResolution> wl_res(scanAbsoluteResolution(wl_distr, wl_stddev));
+    std::unique_ptr<ScanResolution> wl_res(new ScanResolution(wl_distr, wl_stddev));
 
     RangedDistributionGaussian alpha_distr(n_integration_points, /*sigma_factor = */ 2.0);
-    std::unique_ptr<ScanResolution> ang_res(scanAbsoluteResolution(alpha_distr, ang_stddev));
+    std::unique_ptr<ScanResolution> ang_res(new ScanResolution(alpha_distr, ang_stddev));
 
     scan.setWavelengthResolution(wl_res.get());
     scan.setAngleResolution(ang_res.get());