diff --git a/Ryujinx.HLE/OsHle/Horizon.cs b/Ryujinx.HLE/OsHle/Horizon.cs
index 4c117fa478..0318fba56a 100644
--- a/Ryujinx.HLE/OsHle/Horizon.cs
+++ b/Ryujinx.HLE/OsHle/Horizon.cs
@@ -85,13 +85,13 @@ namespace Ryujinx.HLE.OsHle
 
                 using (FileStream Input = new FileStream(File, FileMode.Open))
                 {
-                    SystemStateMgr.TitleMetadata = new Npdm(Input);
+                    MainProcess.Metadata = new Npdm(Input);
                 }
             }
 
             LoadNpdm("*.npdm");
 
-            if (!SystemStateMgr.TitleMetadata.Is64Bits)
+            if (!MainProcess.Metadata.Is64Bits)
             {
                 throw new Exception("32-bit titles are unsupported!");
             }
diff --git a/Ryujinx.HLE/OsHle/Process.cs b/Ryujinx.HLE/OsHle/Process.cs
index c7606dc902..ac5ed45602 100644
--- a/Ryujinx.HLE/OsHle/Process.cs
+++ b/Ryujinx.HLE/OsHle/Process.cs
@@ -4,6 +4,7 @@ using ChocolArm64.Memory;
 using ChocolArm64.State;
 using Ryujinx.HLE.Loaders;
 using Ryujinx.HLE.Loaders.Executables;
+using Ryujinx.HLE.Loaders.Npdm;
 using Ryujinx.HLE.Logging;
 using Ryujinx.HLE.OsHle.Diagnostics;
 using Ryujinx.HLE.OsHle.Exceptions;
@@ -48,6 +49,8 @@ namespace Ryujinx.HLE.OsHle
 
         public AppletStateMgr AppletState { get; private set; }
 
+        public Npdm Metadata { get; set; }
+
         private SvcHandler SvcHandler;
 
         private ConcurrentDictionary<int, AThread> TlsSlots;
diff --git a/Ryujinx.HLE/OsHle/SystemStateMgr.cs b/Ryujinx.HLE/OsHle/SystemStateMgr.cs
index 32c88994b9..7b6ef7f3cf 100644
--- a/Ryujinx.HLE/OsHle/SystemStateMgr.cs
+++ b/Ryujinx.HLE/OsHle/SystemStateMgr.cs
@@ -5,8 +5,6 @@ namespace Ryujinx.HLE.OsHle
 {
     public class SystemStateMgr
     {
-        internal static Npdm TitleMetadata { get; set; }
-
         internal static string[] LanguageCodes = new string[]
         {
             "ja",