diff --git a/Core/Computation/SpecularComputation.h b/Core/Computation/SpecularComputation.h
index ffadf252cec3ff4398b35abc11a2384e979662e4..9812c882f9b04c0f88ac839e6c2ec50b07a7e8df 100644
--- a/Core/Computation/SpecularComputation.h
+++ b/Core/Computation/SpecularComputation.h
@@ -41,8 +41,8 @@ private:
     void runProtected() override;
 
     //! these iterators define the span of detector bins this simulation will work on
-    SpecularElementIter m_begin_it, m_end_it;
-    std::unique_ptr<SpecularComputationTerm> m_computation_term;
+    const SpecularElementIter m_begin_it, m_end_it;
+    mutable std::unique_ptr<SpecularComputationTerm> m_computation_term;
 };
 
 #endif // BORNAGAIN_CORE_COMPUTATION_SPECULARCOMPUTATION_H