diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index 5d493a2b2..6e89fa6e3 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -237,6 +237,8 @@ void RasterizerOpenGL::SetupShaders() {
         }
     }
 
+    state.Apply();
+
     shader_program_manager->UseTrivialGeometryShader();
 }
 
@@ -666,8 +668,6 @@ u32 RasterizerOpenGL::SetupConstBuffers(Maxwell::ShaderStage stage, Shader& shad
                               current_bindpoint + bindpoint);
     }
 
-    state.Apply();
-
     return current_bindpoint + static_cast<u32>(entries.size());
 }
 
@@ -714,8 +714,6 @@ u32 RasterizerOpenGL::SetupTextures(Maxwell::ShaderStage stage, Shader& shader,
         }
     }
 
-    state.Apply();
-
     return current_unit + static_cast<u32>(entries.size());
 }