diff --git a/BaseLib/TimeInterval.h b/BaseLib/TimeInterval.h
index 32523faa030d143e3bdd2699bd39c0512e571001..2076c872c83c476de07b59356591801e5672a509 100644
--- a/BaseLib/TimeInterval.h
+++ b/BaseLib/TimeInterval.h
@@ -30,6 +30,12 @@ public:
     {
     }
 
+    explicit TimeInterval(const TimeInterval& time_inverval)
+        : _start_time(time_inverval._start_time),
+          _end_time(time_inverval._end_time)
+    {
+    }
+
     bool contains(const double current_time) const
     {
         return (current_time >= _start_time && current_time <= _end_time);
diff --git a/ProcessLib/BoundaryCondition/DirichletBoundaryConditionWithinTimeInterval.h b/ProcessLib/BoundaryCondition/DirichletBoundaryConditionWithinTimeInterval.h
index 249875a413acfc11b9f0e929c4f257c254b014eb..c48f16c4d7dd25bfe5b731c75fdb92be6d2fef7e 100644
--- a/ProcessLib/BoundaryCondition/DirichletBoundaryConditionWithinTimeInterval.h
+++ b/ProcessLib/BoundaryCondition/DirichletBoundaryConditionWithinTimeInterval.h
@@ -49,7 +49,7 @@ private:
     int const _variable_id;
     int const _component_id;
 
-    std::unique_ptr<BaseLib::TimeInterval> _time_interval;
+    std::unique_ptr<BaseLib::TimeInterval const> _time_interval;
 };
 
 std::unique_ptr<DirichletBoundaryConditionWithinTimeInterval>