diff --git a/src/render/unified/shader.wgsl b/src/render/unified/shader.wgsl
index 4c5468916c26d1c4b8e7fe8946a6aba0e3f142bd..d68144ae03072c5a50b2d0f19db093084ecd4d3e 100644
--- a/src/render/unified/shader.wgsl
+++ b/src/render/unified/shader.wgsl
@@ -104,7 +104,7 @@ fn fragment(in: VertexOutput) -> @location(0) vec4<f32> {
 
         let red = sample_subpixel(vec2(in.uv.x - subpixel_dimensions.x, 1. - in.uv.y), subpixel_dimensions, i32(in.uv.z), scale);
         let green = sample_subpixel(vec2(in.uv.x, 1. - in.uv.y), subpixel_dimensions, i32(in.uv.z), scale);
-        let blue = sample_subpixel(vec2(in.uv.x + subpixel_dimensions.y, 1. - in.uv.y), subpixel_dimensions, i32(in.uv.z), scale);
+        let blue = sample_subpixel(vec2(in.uv.x + subpixel_dimensions.x, 1. - in.uv.y), subpixel_dimensions, i32(in.uv.z), scale);
         let alpha = (red + green + blue) / 3.;
 
         return vec4(red * in.color.r, green * in.color.g, blue * in.color.b, alpha);