diff --git a/src/core/hle/service/cecd/cecd.cpp b/src/core/hle/service/cecd/cecd.cpp
index f13df6926..36263f622 100644
--- a/src/core/hle/service/cecd/cecd.cpp
+++ b/src/core/hle/service/cecd/cecd.cpp
@@ -27,6 +27,7 @@
 
 SERVICE_CONSTRUCT_IMPL(Service::CECD::Module)
 SERIALIZE_EXPORT_IMPL(Service::CECD::Module)
+SERIALIZE_EXPORT_IMPL(Service::CECD::Module::SessionData)
 
 namespace Service::CECD {
 
diff --git a/src/core/hle/service/cecd/cecd.h b/src/core/hle/service/cecd/cecd.h
index dd7fff7cb..0870f31bf 100644
--- a/src/core/hle/service/cecd/cecd.h
+++ b/src/core/hle/service/cecd/cecd.h
@@ -248,6 +248,19 @@ public:
         FileSys::Path path;
 
         std::unique_ptr<FileSys::FileBackend> file;
+
+    private:
+        template <class Archive>
+        void serialize(Archive& ar, const unsigned int) {
+            ar& boost::serialization::base_object<Kernel::SessionRequestHandler::SessionDataBase>(
+                *this);
+            ar& ncch_program_id;
+            ar& data_path_type;
+            ar& open_mode.raw;
+            ar& path;
+            ar& file;
+        }
+        friend class boost::serialization::access;
     };
 
     class Interface : public ServiceFramework<Interface, SessionData> {
@@ -626,3 +639,4 @@ void InstallInterfaces(Core::System& system);
 
 SERVICE_CONSTRUCT(Service::CECD::Module)
 BOOST_CLASS_EXPORT_KEY(Service::CECD::Module)
+BOOST_CLASS_EXPORT_KEY(Service::CECD::Module::SessionData)