diff --git a/src/core/gpu_hw_vulkan.cpp b/src/core/gpu_hw_vulkan.cpp
index 6811ab6f6..fd280fff3 100644
--- a/src/core/gpu_hw_vulkan.cpp
+++ b/src/core/gpu_hw_vulkan.cpp
@@ -636,7 +636,10 @@ bool GPU_HW_Vulkan::CompilePipelines()
                                         (depth_test != 0) ? VK_COMPARE_OP_GREATER_OR_EQUAL : VK_COMPARE_OP_ALWAYS);
 
                 gpbuilder.SetNoBlendingState();
-                if (static_cast<TransparencyMode>(transparency_mode) != TransparencyMode::Disabled ||
+
+                if ((static_cast<TransparencyMode>(transparency_mode) != TransparencyMode::Disabled &&
+                     (static_cast<BatchRenderMode>(render_mode) != BatchRenderMode::TransparencyDisabled &&
+                      static_cast<BatchRenderMode>(render_mode) != BatchRenderMode::OnlyOpaque)) ||
                     m_texture_filtering)
                 {
                   // TODO: Check dual-source blend support here.