diff --git a/common/gal/opengl/gl_builtin_shaders.cpp b/common/gal/opengl/gl_builtin_shaders.cpp
index f2d4ce85e5..21bd36e898 100644
--- a/common/gal/opengl/gl_builtin_shaders.cpp
+++ b/common/gal/opengl/gl_builtin_shaders.cpp
@@ -148,12 +148,15 @@ void computeLineCoords( bool posture, vec2 vs, vec2 vp, vec2 texcoord, vec2 dir,
 }
 
 
-void computeCircleCoords( float vertexIndex, float radius, float lineWidth )
+void computeCircleCoords( float mode, float vertexIndex, float radius, float lineWidth )
 {
     vec4 delta;
     vec4 center = roundv( gl_ModelViewProjectionMatrix * gl_Vertex + vec4(1, 1, 0, 0), screenPixelSize );
     float pixelWidth = roundr( lineWidth / worldPixelSize, 1.0);
-    float pixelR =  roundr( radius / worldPixelSize, 1.0);
+    float pixelR = roundr( radius / worldPixelSize, 1.0);
+
+    if( mode == SHADER_STROKED_CIRCLE)
+        pixelR += pixelWidth / 2.0;
 
     vec4 adjust = vec4(-1, -1, 0, 0);
 
@@ -227,7 +230,7 @@ void main()
     else if( mode == SHADER_LINE_F )
         computeLineCoords( posture,  -vs, vp,  vec2(  1,  1 ), vec2( -1, 0 ), lineWidth, false );
     else if( mode == SHADER_FILLED_CIRCLE || mode == SHADER_STROKED_CIRCLE)
-        computeCircleCoords( shaderParams.y, shaderParams.z, shaderParams.w );
+        computeCircleCoords( mode, shaderParams.y, shaderParams.z, shaderParams.w );
     else
     {
         // Pass through the coordinates like in the fixed pipeline
diff --git a/include/gal/opengl/opengl_gal.h b/include/gal/opengl/opengl_gal.h
index 732859f96c..322e157cba 100644
--- a/include/gal/opengl/opengl_gal.h
+++ b/include/gal/opengl/opengl_gal.h
@@ -322,7 +322,6 @@ private:
     GLint                   ufm_worldPixelSize;
     GLint                   ufm_screenPixelSize;
     GLint                   ufm_pixelSizeMultiplier;
-    GLint                   ufm_backingScaleFactor;
 
     std::unique_ptr<GL_BITMAP_CACHE>         bitmapCache;