diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c
index 63e86c7fbb0fec574d32d87afd07c2602c4b5aea..27f82cc82bcabee570c9edd13f7839ef708ec66b 100644
--- a/src/hardware/r_opengl/r_opengl.c
+++ b/src/hardware/r_opengl/r_opengl.c
@@ -1073,6 +1073,7 @@ EXPORT void HWRAPI(UnSetShader) (void)
 #ifdef GL_SHADERS
 	gl_shadersenabled = false;
 	gl_currentshaderprogram = 0;
+	pglUseProgram(0);
 #endif
 }
 
@@ -2054,10 +2055,6 @@ EXPORT void HWRAPI(DrawPolygon) (FSurfaceInfo *pSurf, FOutVector *pOutVerts, FUI
 
 	if (PolyFlags & PF_ForceWrapY)
 		Clamp2D(GL_TEXTURE_WRAP_T);
-
-#ifdef GL_SHADERS
-	pglUseProgram(0);
-#endif
 }
 
 typedef struct vbo_vertex_s