diff --git a/src/problem.cpp b/src/problem.cpp
index 0ab665d65a02087411bc401e5ebfd6d710bb326b..3c65e9127b85377600ac625ea28bc420043f34d7 100644
--- a/src/problem.cpp
+++ b/src/problem.cpp
@@ -43,7 +43,7 @@ void Problem::setup()
 
 ProblemPtr Problem::create(FrameStructure _frame_structure)
 {
-    ProblemPtr p(new Problem(_frame_structure));
+    ProblemPtr p(new Problem(_frame_structure)); // We use `new` and not `make_shared` since the Problem constructor is private and cannot be passes to `make_shared`.
     p->setup();
     return p->shared_from_this();
 }