diff --git a/src/core/loader/nro.cpp b/src/core/loader/nro.cpp
index 16d5883ee2dd59625477da7a6f507b7ddc6b28a1..4fad0c0dd2ecd5443075224c65aeb0b9753e9404 100644
--- a/src/core/loader/nro.cpp
+++ b/src/core/loader/nro.cpp
@@ -128,8 +128,8 @@ static constexpr u32 PageAlignSize(u32 size) {
     return (size + Memory::PAGE_MASK) & ~Memory::PAGE_MASK;
 }
 
-/*static*/ bool AppLoader_NRO::LoadNro(Kernel::Process& process, const std::vector<u8>& data,
-                                       const std::string& name, VAddr load_base) {
+static bool LoadNroImpl(Kernel::Process& process, const std::vector<u8>& data,
+                        const std::string& name, VAddr load_base) {
     if (data.size() < sizeof(NroHeader)) {
         return {};
     }
@@ -195,8 +195,9 @@ static constexpr u32 PageAlignSize(u32 size) {
     return true;
 }
 
-bool AppLoader_NRO::LoadNro(Kernel::Process& process, const FileSys::VfsFile& file, VAddr load_base) {
-    return LoadNro(process, file.ReadAllBytes(), file.GetName(), load_base);
+bool AppLoader_NRO::LoadNro(Kernel::Process& process, const FileSys::VfsFile& file,
+                            VAddr load_base) {
+    return LoadNroImpl(process, file.ReadAllBytes(), file.GetName(), load_base);
 }
 
 ResultStatus AppLoader_NRO::Load(Kernel::Process& process) {
diff --git a/src/core/loader/nro.h b/src/core/loader/nro.h
index 6a63d1a7adf22f90c4579a9eea0836fc8138e814..6deff3a51e0390633b80731c66dfb2ee276bfe5c 100644
--- a/src/core/loader/nro.h
+++ b/src/core/loader/nro.h
@@ -45,9 +45,6 @@ public:
     ResultStatus ReadTitle(std::string& title) override;
     bool IsRomFSUpdatable() const override;
 
-    static bool LoadNro(Kernel::Process& process, const std::vector<u8>& data,
-                        const std::string& name, VAddr load_base);
-
 private:
     bool LoadNro(Kernel::Process& process, const FileSys::VfsFile& file, VAddr load_base);