diff --git a/Core/Multilayer/SpecularMagneticOldStrategy.cpp b/Core/Multilayer/SpecularMagneticOldStrategy.cpp
index 1665d15544b4d7794d15a869e0529a6fcc7de6ac..c557ecafb58c153510af0d7c53ca045090da7bce 100644
--- a/Core/Multilayer/SpecularMagneticOldStrategy.cpp
+++ b/Core/Multilayer/SpecularMagneticOldStrategy.cpp
@@ -31,7 +31,7 @@ complex_t GetImExponential(complex_t exponent);
 const complex_t I(0, 1);
 }
 
-std::vector<std::unique_ptr<MatrixRTCoefficients>>
+SpecularMagneticOldStrategy::coeffs_t
 SpecularMagneticOldStrategy::Execute(const std::vector<Slice>& slices,
                                      const kvector_t& k) const
 {
@@ -39,14 +39,14 @@ SpecularMagneticOldStrategy::Execute(const std::vector<Slice>& slices,
     CalculateEigenvalues(slices, k, result);
     CalculateTransferAndBoundary(slices, result);
 
-    std::vector<std::unique_ptr<MatrixRTCoefficients>> resultConvert;
+    coeffs_t resultConvert;
     for(auto& coeff : result)
         resultConvert.push_back( std::make_unique<MatrixRTCoefficients>(coeff));
 
     return resultConvert;
 }
 
-std::vector<std::unique_ptr<MatrixRTCoefficients>>
+SpecularMagneticOldStrategy::coeffs_t
 SpecularMagneticOldStrategy::Execute(const std::vector<Slice>& slices, const std::vector<complex_t>& k) const
 {
     throw std::runtime_error("Not implemented");
diff --git a/Core/Multilayer/SpecularMagneticOldStrategy.h b/Core/Multilayer/SpecularMagneticOldStrategy.h
index 4e53c509b6e3259518d9445e99f422efda8085ba..bd10b0b5d1778d5f51ff8d3e60ca5417b791829d 100644
--- a/Core/Multilayer/SpecularMagneticOldStrategy.h
+++ b/Core/Multilayer/SpecularMagneticOldStrategy.h
@@ -29,12 +29,15 @@ class Slice;
 class SpecularMagneticOldStrategy
 {
 public:
+    typedef std::unique_ptr<const MatrixRTCoefficients> single_coeff_t;
+    typedef std::vector<single_coeff_t> coeffs_t;
+
     //! Computes refraction angle reflection/transmission coefficients
     //! for given sliced multilayer and wavevector k
-    BA_CORE_API_ std::vector<std::unique_ptr<MatrixRTCoefficients>>
+    BA_CORE_API_ coeffs_t
     Execute(const std::vector<Slice>& slices, const kvector_t& k) const;
 
-    BA_CORE_API_ std::vector<std::unique_ptr<MatrixRTCoefficients>>
+    BA_CORE_API_ coeffs_t
     Execute(const std::vector<Slice>& slices, const std::vector<complex_t>& kz) const;
 
 }; // class SpecularMagneticOldStrategy
diff --git a/Tests/UnitTests/Core/Fresnel/SpecularMagneticTest.cpp b/Tests/UnitTests/Core/Fresnel/SpecularMagneticTest.cpp
index c16850106dcd87850e1b7952fcd8f289a92dd0f3..99f0b70760c44dfa177dc889da9b9b6d33beb2f7 100644
--- a/Tests/UnitTests/Core/Fresnel/SpecularMagneticTest.cpp
+++ b/Tests/UnitTests/Core/Fresnel/SpecularMagneticTest.cpp
@@ -67,7 +67,7 @@ TEST_F(SpecularMagneticTest, zerofield)
     Eigen::Vector2cd RMS = RTScalar.R1min() + RTScalar.R2min();
 
     auto coeffs_zerofield = std::make_unique<SpecularMagneticOldStrategy>()->Execute(sample_zerofield.slices(), k1);
-    MatrixRTCoefficients RTMatrix = *dynamic_cast<MatrixRTCoefficients*>(coeffs_zerofield[1].get());
+    MatrixRTCoefficients RTMatrix = *dynamic_cast<const MatrixRTCoefficients*>(coeffs_zerofield[1].get());
     Eigen::Vector2cd TPM = RTMatrix.T1plus() + RTMatrix.T2plus();
     Eigen::Vector2cd RPM = RTMatrix.R1plus() + RTMatrix.R2plus();
     Eigen::Vector2cd TMM = RTMatrix.T1min() + RTMatrix.T2min();
@@ -91,7 +91,7 @@ TEST_F(SpecularMagneticTest, zerofield)
     RMS = RTScalar.R1min() + RTScalar.R2min();
 
     coeffs_zerofield = std::make_unique<SpecularMagneticOldStrategy>()->Execute(sample_zerofield.slices(), k2);
-    RTMatrix = *dynamic_cast<MatrixRTCoefficients*>(coeffs_zerofield[1].get());
+    RTMatrix = *dynamic_cast<const MatrixRTCoefficients*>(coeffs_zerofield[1].get());
     TPM = RTMatrix.T1plus() + RTMatrix.T2plus();
     RPM = RTMatrix.R1plus() + RTMatrix.R2plus();
     TMM = RTMatrix.T1min() + RTMatrix.T2min();
@@ -115,7 +115,7 @@ TEST_F(SpecularMagneticTest, zerofield)
     RMS = RTScalar.R1min() + RTScalar.R2min();
 
     coeffs_zerofield = std::make_unique<SpecularMagneticOldStrategy>()->Execute(sample_zerofield.slices(), k3);
-    RTMatrix = *dynamic_cast<MatrixRTCoefficients*>(coeffs_zerofield[1].get());
+    RTMatrix = *dynamic_cast<const MatrixRTCoefficients*>(coeffs_zerofield[1].get());
     TPM = RTMatrix.T1plus() + RTMatrix.T2plus();
     RPM = RTMatrix.R1plus() + RTMatrix.R2plus();
     TMM = RTMatrix.T1min() + RTMatrix.T2min();