diff --git a/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp b/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp index 9bbdff6d2d..bf789f46a6 100644 --- a/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp +++ b/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp @@ -252,7 +252,7 @@ bool ProgramShaderCache::CompileShader(SHADER& shader, const char* vcode, const if (gcode) gsid = CompileSingleShader(GL_GEOMETRY_SHADER, gcode); - if (!vsid || !psid) + if (!vsid || !psid || (gcode && !gsid)) { glDeleteShader(vsid); glDeleteShader(psid);