diff --git a/src/utils/checkpointing/Checkpoint.cpp b/src/utils/checkpointing/Checkpoint.cpp
index ed53a690c1dc4f32f4b1ee61aac4fc407f5e5e65..e9fe8ccd2a4eb580812cde6e1cf3a39977f85a10 100644
--- a/src/utils/checkpointing/Checkpoint.cpp
+++ b/src/utils/checkpointing/Checkpoint.cpp
@@ -224,6 +224,8 @@ checkpoint()
 
 #else   // PUGS_HAS_HDF5
 
+#include <utils/Exceptions.hpp>
+
 void
 checkpoint()
 {
diff --git a/src/utils/checkpointing/CheckpointUtils.hpp b/src/utils/checkpointing/CheckpointUtils.hpp
index f0ce0f39e716b45c8e62391028731ce75b9dd0bd..1bef6709c61f633c2beae844215daeb593e4243e 100644
--- a/src/utils/checkpointing/CheckpointUtils.hpp
+++ b/src/utils/checkpointing/CheckpointUtils.hpp
@@ -3,6 +3,8 @@
 
 #include <utils/HighFivePugsUtils.hpp>
 
+#include <utils/pugs_config.hpp>
+
 #ifdef PUGS_HAS_HDF5
 
 #include <language/utils/SymbolTable.hpp>
@@ -108,8 +110,6 @@ write(HighFive::Group& group, const std::string& name, const Table<DataType>& ta
   dataset.createAttribute("number_of_columns", number_of_columns);
 }
 
-#endif   // PUGS_HAS_HDF5
-
 template <typename DataType, ItemType item_type, typename ConnectivityPtr>
 void write(HighFive::Group& group,
            const std::string& name,
@@ -222,6 +222,8 @@ void writeVariableBCDescriptor(const std::string& symbol_name,
                                HighFive::Group& checkpoint_group,
                                HighFive::Group& symbol_table_group);
 
-}   // checkpointing
+}   // namespace checkpointing
+
+#endif   // PUGS_HAS_HDF5
 
 #endif   // CHECKPOINT_UTILS_HPP
diff --git a/src/utils/checkpointing/Resume.cpp b/src/utils/checkpointing/Resume.cpp
index 60dc08d4c227ad87c1e46a642258601c33c99d4f..a4991f10e09effc0ffc591a6251dc25427a6c3f6 100644
--- a/src/utils/checkpointing/Resume.cpp
+++ b/src/utils/checkpointing/Resume.cpp
@@ -292,6 +292,8 @@ resume()
 
 #else   // PUGS_HAS_HDF5
 
+#include <utils/Exceptions.hpp>
+
 void
 resume()
 {