diff --git a/NumLib/TimeStepping/Algorithms/EvolutionaryPIDcontroller.h b/NumLib/TimeStepping/Algorithms/EvolutionaryPIDcontroller.h
index b405cd8812be6fa9ddf9624f48e049c6080dc299..9ef753c82737a9fa48bd4cf21e42ec22bd3d8a90 100644
--- a/NumLib/TimeStepping/Algorithms/EvolutionaryPIDcontroller.h
+++ b/NumLib/TimeStepping/Algorithms/EvolutionaryPIDcontroller.h
@@ -80,7 +80,7 @@ public:
         _is_accepted = accepted;
     }
 
-    bool isSolutionErrorComputationNeeded() override { return true; }
+    bool isSolutionErrorComputationNeeded() const override { return true; }
 
     virtual bool canReduceTimestepSize() const override;
 
diff --git a/NumLib/TimeStepping/Algorithms/IterationNumberBasedTimeStepping.h b/NumLib/TimeStepping/Algorithms/IterationNumberBasedTimeStepping.h
index b875f20b0dd5b516a81d000dcebda07d84d5db64..ea3341ae0b39da3ca565d7e6a6d2aa28206cb1f2 100644
--- a/NumLib/TimeStepping/Algorithms/IterationNumberBasedTimeStepping.h
+++ b/NumLib/TimeStepping/Algorithms/IterationNumberBasedTimeStepping.h
@@ -97,7 +97,7 @@ public:
     bool accepted() const override;
     void setAcceptedOrNot(bool accepted) override { _accepted = accepted; };
 
-    bool isSolutionErrorComputationNeeded() override { return true; }
+    bool isSolutionErrorComputationNeeded() const override { return true; }
 
     bool canReduceTimestepSize() const override;
 
diff --git a/NumLib/TimeStepping/Algorithms/TimeStepAlgorithm.h b/NumLib/TimeStepping/Algorithms/TimeStepAlgorithm.h
index bbb8001ab38b9af444bfe68d27b750977f304e0a..93e015136417631e9747e242801782cc5657b600 100644
--- a/NumLib/TimeStepping/Algorithms/TimeStepAlgorithm.h
+++ b/NumLib/TimeStepping/Algorithms/TimeStepAlgorithm.h
@@ -111,7 +111,7 @@ public:
 
     /// Get a flag to indicate whether this algorithm needs to compute
     /// solution error. The default return value is false.
-    virtual bool isSolutionErrorComputationNeeded() { return false; }
+    virtual bool isSolutionErrorComputationNeeded() const { return false; }
 
     /// Query the timestepper if further time step size reduction is possible.
     virtual bool canReduceTimestepSize() const { return false; }