diff --git a/src/core/loader/xci.cpp b/src/core/loader/xci.cpp
index 5d67fb186..4c4979545 100644
--- a/src/core/loader/xci.cpp
+++ b/src/core/loader/xci.cpp
@@ -4,22 +4,14 @@
 
 #include <vector>
 
-#include "common/file_util.h"
-#include "common/logging/log.h"
-#include "common/string_util.h"
-#include "common/swap.h"
-#include "core/core.h"
+#include "common/common_types.h"
+#include "core/file_sys/card_image.h"
 #include "core/file_sys/content_archive.h"
 #include "core/file_sys/control_metadata.h"
-#include "core/file_sys/program_metadata.h"
 #include "core/file_sys/romfs.h"
-#include "core/gdbstub/gdbstub.h"
 #include "core/hle/kernel/process.h"
-#include "core/hle/kernel/resource_limit.h"
-#include "core/hle/service/filesystem/filesystem.h"
-#include "core/loader/nso.h"
+#include "core/loader/nca.h"
 #include "core/loader/xci.h"
-#include "core/memory.h"
 
 namespace Loader {
 
diff --git a/src/core/loader/xci.h b/src/core/loader/xci.h
index 973833050..cc4287e17 100644
--- a/src/core/loader/xci.h
+++ b/src/core/loader/xci.h
@@ -6,12 +6,18 @@
 
 #include <memory>
 #include "common/common_types.h"
-#include "core/file_sys/card_image.h"
+#include "core/file_sys/vfs.h"
 #include "core/loader/loader.h"
-#include "core/loader/nca.h"
+
+namespace FileSys {
+class NACP;
+class XCI;
+} // namespace FileSys
 
 namespace Loader {
 
+class AppLoader_NCA;
+
 /// Loads an XCI file
 class AppLoader_XCI final : public AppLoader {
 public:
@@ -37,8 +43,6 @@ public:
     ResultStatus ReadTitle(std::string& title) override;
 
 private:
-    FileSys::ProgramMetadata metadata;
-
     std::unique_ptr<FileSys::XCI> xci;
     std::unique_ptr<AppLoader_NCA> nca_loader;