diff --git a/src/language/ast/ASTModulesImporter.cpp b/src/language/ast/ASTModulesImporter.cpp
index 7b9670160f035a09e0bc2fb023834ac70bcaf36e..4cae0a921c139b3ae68a3decb0ce4f83876c4701 100644
--- a/src/language/ast/ASTModulesImporter.cpp
+++ b/src/language/ast/ASTModulesImporter.cpp
@@ -1,6 +1,7 @@
 #include <language/ast/ASTModulesImporter.hpp>
 
 #include <language/PEGGrammar.hpp>
+#include <language/utils/CheckpointResumeRepository.hpp>
 #include <language/utils/OperatorRepository.hpp>
 #include <utils/ConsoleManager.hpp>
 
@@ -27,7 +28,9 @@ ASTModulesImporter::_importModule(ASTNode& import_node)
 
   m_module_repository.populateSymbolTable(module_name_node, m_symbol_table);
   m_module_repository.registerOperators(module_name);
-  m_module_repository.registerCheckpointResume(module_name);
+  if (CheckpointResumeRepository::isCreated()) {
+    m_module_repository.registerCheckpointResume(module_name);
+  }
 }
 
 void
diff --git a/src/language/ast/CMakeLists.txt b/src/language/ast/CMakeLists.txt
index cd2f89636ffd8255af1a077118b44c64147fd18c..1485606587abee39eee2a643df38f79820bace39 100644
--- a/src/language/ast/CMakeLists.txt
+++ b/src/language/ast/CMakeLists.txt
@@ -23,7 +23,12 @@ add_library(PugsLanguageAST
   ASTNodeUnaryOperatorExpressionBuilder.cpp
   ASTSymbolInitializationChecker.cpp
   ASTSymbolTableBuilder.cpp
-  )
+)
+
+target_link_libraries(
+  PugsLanguageAST
+  ${HIGHFIVE_TARGET}
+)
 
 
 add_dependencies(PugsLanguageAST
diff --git a/src/language/modules/ModuleRepository.cpp b/src/language/modules/ModuleRepository.cpp
index 53404f533d293d3dad153f839cb1e999f68ced88..59689fb6fee512e45cd76c7c9d3cd5c11d543ee8 100644
--- a/src/language/modules/ModuleRepository.cpp
+++ b/src/language/modules/ModuleRepository.cpp
@@ -11,6 +11,7 @@
 #include <language/modules/WriterModule.hpp>
 #include <language/utils/BasicAffectationRegistrerFor.hpp>
 #include <language/utils/BuiltinFunctionEmbedder.hpp>
+#include <language/utils/CheckpointResumeRepository.hpp>
 #include <language/utils/ParseError.hpp>
 #include <language/utils/SymbolTable.hpp>
 #include <language/utils/TypeDescriptor.hpp>
@@ -164,7 +165,9 @@ ModuleRepository::populateMandatoryData(const ASTNode& root_node, SymbolTable& s
 
       this->_populateSymbolTable(root_node, module_name, i_module->getNameValueMap(), symbol_table);
 
-      i_module->registerCheckpointResume();
+      if (CheckpointResumeRepository::isCreated()) {
+        i_module->registerCheckpointResume();
+      }
 
       for (const auto& [symbol_name, embedded] : i_module->getNameTypeMap()) {
         BasicAffectationRegisterFor<EmbeddedData>(ASTNodeDataType::build<ASTNodeDataType::type_id_t>(symbol_name));
diff --git a/src/language/utils/CheckpointResumeRepository.hpp b/src/language/utils/CheckpointResumeRepository.hpp
index 73419282d185b4c84d5a81731c10e42f090ca762..7aef97e796036b40af9ba216f108098d836bfa7d 100644
--- a/src/language/utils/CheckpointResumeRepository.hpp
+++ b/src/language/utils/CheckpointResumeRepository.hpp
@@ -63,6 +63,12 @@ class CheckpointResumeRepository
 
   static void create();
 
+  static bool
+  isCreated()
+  {
+    return m_instance != nullptr;
+  }
+
   PUGS_INLINE
   static CheckpointResumeRepository&
   instance()