diff --git a/Device/Scan/AngularSpecScan.cpp b/Device/Scan/AngularSpecScan.cpp
index 58cbf343bf245a67a313e2e4d5f44f58560a4322..81a97a364e1571cab66df37d916961c3a1bf605b 100644
--- a/Device/Scan/AngularSpecScan.cpp
+++ b/Device/Scan/AngularSpecScan.cpp
@@ -94,7 +94,7 @@ std::vector<SpecularSimulationElement> AngularSpecScan::generateSimulationElemen
             const double inc = incs[i][k];
             for (size_t j = 0, size_wls = wls[i].size(); j < size_wls; ++j) {
                 const double wl = wls[i][j];
-                result.emplace_back(wl, -inc);
+                result.emplace_back(SpecularSimulationElement(wl, -inc));
                 if (wl < 0 || inc < 0 || inc > M_PI_2)
                     result.back().setCalculationFlag(false); // false = exclude from calculations
             }
diff --git a/Device/Scan/QSpecScan.cpp b/Device/Scan/QSpecScan.cpp
index 71c2c8574a522af0cb1c9039b861c0c0bc9e9162..1b264b1fc2e2fdbfed72d72199466bbf247e6f22 100644
--- a/Device/Scan/QSpecScan.cpp
+++ b/Device/Scan/QSpecScan.cpp
@@ -60,7 +60,7 @@ std::vector<SpecularSimulationElement> QSpecScan::generateSimulationElements() c
 
     result.reserve(qz.size());
     for (size_t i = 0, size = qz.size(); i < size; ++i) {
-        result.emplace_back(-qz[i] / 2.0);
+        result.emplace_back(SpecularSimulationElement(-qz[i] / 2.0));
         if (qz[i] < 0)
             result.back().setCalculationFlag(false); // false = exclude from calculations
     }