diff --git a/src/language/modules/SocketModule.cpp b/src/language/modules/SocketModule.cpp
index 68ed4c9e57f54ec6966d10404283479860797f32..79321d088f960e0bb7450c82820cf6568e79d174 100644
--- a/src/language/modules/SocketModule.cpp
+++ b/src/language/modules/SocketModule.cpp
@@ -2,6 +2,7 @@
 
 #include <language/utils/BinaryOperatorProcessorBuilder.hpp>
 #include <language/utils/BuiltinFunctionEmbedder.hpp>
+#include <language/utils/CheckpointResumeRepository.hpp>
 #include <language/utils/OStream.hpp>
 #include <language/utils/OperatorRepository.hpp>
 #include <utils/Socket.hpp>
@@ -261,5 +262,12 @@ SocketModule::registerOperators() const
 void
 SocketModule::registerCheckpointResume() const
 {
-  throw NotImplementedError("registerCheckpointResume()");
+  CheckpointResumeRepository::instance()
+    .addCheckpointResume(ast_node_data_type_from<std::shared_ptr<const Socket>>,
+                         std::function(
+                           [](const std::string&, const EmbeddedData&, HighFive::File&, HighFive::Group&,
+                              HighFive::Group&) { throw NotImplementedError("checkpoint/resume with sockets"); }),
+                         std::function([](const std::string&, const HighFive::Group&) -> EmbeddedData {
+                           throw NotImplementedError("checkpoint/resume with sockets");
+                         }));
 }