diff --git a/externals/sirit b/externals/sirit
index 5b5ff49a..1e74f4ef 160000
--- a/externals/sirit
+++ b/externals/sirit
@@ -1 +1 @@
-Subproject commit 5b5ff49a58f5be27af1058794c6ca907dabc05b3
+Subproject commit 1e74f4ef8d2a0e3221a4de51977663f342b53c35
diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_image.cpp b/src/shader_recompiler/backend/spirv/emit_spirv_image.cpp
index 8da9280d..e5d4f307 100644
--- a/src/shader_recompiler/backend/spirv/emit_spirv_image.cpp
+++ b/src/shader_recompiler/backend/spirv/emit_spirv_image.cpp
@@ -247,7 +247,7 @@ void EmitImageWrite(EmitContext& ctx, IR::Inst* inst, u32 handle, Id coords, Id
     ImageOperands operands;
     if (ctx.profile.supports_image_load_store_lod) {
         operands.Add(spv::ImageOperandsMask::Lod, lod);
-    } else if (lod.value != 0) {
+    } else if (Sirit::ValidId(lod)) {
         LOG_WARNING(Render, "Image write with LOD not supported by driver");
     }
     ctx.OpImageWrite(image, coords, ctx.OpBitcast(color_type, color), operands.mask,