diff --git a/src/MeloNX/MeloNX/App/Core/Ryujinx/Ryujinx.swift b/src/MeloNX/MeloNX/App/Core/Ryujinx/Ryujinx.swift
index 17bdd4bfe..4d4ac237a 100644
--- a/src/MeloNX/MeloNX/App/Core/Ryujinx/Ryujinx.swift
+++ b/src/MeloNX/MeloNX/App/Core/Ryujinx/Ryujinx.swift
@@ -227,8 +227,9 @@ class Ryujinx {
                     
                     let gameInfo = get_game_info(handle.fileDescriptor, extensionPtr)
                     
-                    let game = Game.convertGameInfoToGame(gameInfo: gameInfo, url: fileURLCandidate)
-                    
+                    guard let game = Game.convertGameInfoToGame(gameInfo: gameInfo, url: fileURLCandidate)
+                    else { continue }
+
                     games.append(game)
                 } catch {
                     print(error)
diff --git a/src/MeloNX/MeloNX/App/Models/Game.swift b/src/MeloNX/MeloNX/App/Models/Game.swift
index d9ed10422..b3a66782c 100644
--- a/src/MeloNX/MeloNX/App/Models/Game.swift
+++ b/src/MeloNX/MeloNX/App/Models/Game.swift
@@ -22,10 +22,12 @@ public struct Game: Identifiable, Equatable, Hashable {
     var icon: UIImage?
     
     
-    static func convertGameInfoToGame(gameInfo: GameInfo, url: URL) -> Game {
+    static func convertGameInfoToGame(gameInfo: GameInfo, url: URL) -> Game? {
+        guard gameInfo.FileSize != 0 else { return nil }
+
         var gameInfo = gameInfo
         var gameTemp = Game(containerFolder: url.deletingLastPathComponent(), fileType: .item, fileURL: url, titleName: "", titleId: "", developer: "", version: "")
-        
+
         gameTemp.titleName = withUnsafePointer(to: &gameInfo.TitleName) {
             $0.withMemoryRebound(to: UInt8.self, capacity: MemoryLayout.size(ofValue: $0)) {
                 String(cString: $0)
diff --git a/src/Ryujinx.Headless.SDL2/Program.cs b/src/Ryujinx.Headless.SDL2/Program.cs
index fca399c48..345814b01 100644
--- a/src/Ryujinx.Headless.SDL2/Program.cs
+++ b/src/Ryujinx.Headless.SDL2/Program.cs
@@ -321,6 +321,9 @@ namespace Ryujinx.Headless.SDL2
             var stream = OpenFile(descriptor);
 
             var gameInfo = GetGameInfo(stream, extension);
+            if (gameInfo == null) {
+                return new GameInfoNative(0, "", "", "", "", new byte[0]);
+            }
 
             return new GameInfoNative(
                 (ulong)gameInfo.FileSize,