diff --git a/impeller/aiks/aiks_unittests.cc b/impeller/aiks/aiks_unittests.cc
index dc884f8..623b311 100644
--- a/impeller/aiks/aiks_unittests.cc
+++ b/impeller/aiks/aiks_unittests.cc
@@ -18,6 +18,7 @@
 #include "impeller/entity/contents/scene_contents.h"
 #include "impeller/entity/contents/tiled_texture_contents.h"
 #include "impeller/geometry/color.h"
+#include "impeller/geometry/constants.h"
 #include "impeller/geometry/geometry_unittests.h"
 #include "impeller/geometry/matrix.h"
 #include "impeller/geometry/path_builder.h"
@@ -1183,6 +1184,20 @@
   ASSERT_TRUE(OpenPlaygroundHere(canvas.EndRecordingAsPicture()));
 }
 
+TEST_P(AiksTest, TextRotated) {
+  Canvas canvas;
+  canvas.Transform(Matrix(0.5, -0.3, 0, -0.002,  //
+                          0, 1, 0, 0,            //
+                          0, 0, 0.3, 0,          //
+                          100, 100, 0, 1.3));
+
+  ASSERT_TRUE(RenderTextInCanvas(
+      GetContext(), canvas, "the quick brown fox jumped over the lazy dog!.?",
+      "Roboto-Regular.ttf"));
+
+  ASSERT_TRUE(OpenPlaygroundHere(canvas.EndRecordingAsPicture()));
+}
+
 TEST_P(AiksTest, CanDrawPaint) {
   Paint paint;
   paint.color = Color::MediumTurquoise();
diff --git a/impeller/compiler/shader_lib/impeller/transform.glsl b/impeller/compiler/shader_lib/impeller/transform.glsl
index 444419d..bfe0331 100644
--- a/impeller/compiler/shader_lib/impeller/transform.glsl
+++ b/impeller/compiler/shader_lib/impeller/transform.glsl
@@ -15,14 +15,15 @@
 // atlas.
 vec4 IPPositionForGlyphPosition(mat4 mvp,
                                 vec2 unit_position,
-                                vec2 glyph_position,
-                                vec2 glyph_size) {
-  vec4 translate =
-      mvp[0] * glyph_position.x + mvp[1] * glyph_position.y + mvp[3];
-  mat4 translated_mvp =
-      mat4(mvp[0], mvp[1], mvp[2], vec4(translate.xyz, mvp[3].w));
-  return translated_mvp * vec4(unit_position.x * glyph_size.x,
-                               unit_position.y * glyph_size.y, 0.0, 1.0);
+                                vec2 destination_position,
+                                vec2 destination_size) {
+  mat4 translation = mat4(1, 0, 0, 0,  //
+                          0, 1, 0, 0,  //
+                          0, 0, 1, 0,  //
+                          destination_position.xy, 0, 1);
+  return mvp * translation *
+         vec4(unit_position.x * destination_size.x,
+              unit_position.y * destination_size.y, 0.0, 1.0);
 }
 
 #endif
