diff --git a/Sim/Export/PyFmt2.cpp b/Sim/Export/PyFmt2.cpp
index 7d6c44cffd709a903b5eed38dbb985dbce053330..767cf4c3ccfca6de064ef8f7c2d02ab2fa9bc58c 100644
--- a/Sim/Export/PyFmt2.cpp
+++ b/Sim/Export/PyFmt2.cpp
@@ -110,7 +110,7 @@ std::string printAxis(const IAxis* axis, const std::string& unit)
 }
 
 std::string printParameterDistribution(const ParameterDistribution& par_distr,
-                                       const std::string& distVarName, const std::string& units)
+                                       const std::string& distVarName, const std::string& /*units*/)
 {
     std::ostringstream result;
 
diff --git a/Sim/Scan/AlphaScan.cpp b/Sim/Scan/AlphaScan.cpp
index 1bcfc68c3becec4b37703457da52c860b73f7bdb..29ce4625f6e74a4c5373d7afab49dcb9a5b16970 100644
--- a/Sim/Scan/AlphaScan.cpp
+++ b/Sim/Scan/AlphaScan.cpp
@@ -62,8 +62,10 @@ AlphaScan* AlphaScan::clone() const
 {
     auto* result = new AlphaScan(wavelength(), *m_axis);
     result->setFootprintFactor(m_footprint.get());
-    result->setWavelengthResolution(m_lambda_distrib.get());
-    result->setAngleResolution(m_alpha_distrib.get());
+    if (m_lambda_distrib)
+        result->m_lambda_distrib.reset(m_lambda_distrib->clone());
+    if (m_alpha_distrib)
+        result->m_alpha_distrib.reset(m_alpha_distrib->clone());
     if (m_beamPolarization)
         result->m_beamPolarization.reset(new R3(*m_beamPolarization));
     if (m_polAnalyzer)