diff --git a/src/gpu/ganesh/effects/GrAtlasedShaderHelpers.h b/src/gpu/ganesh/effects/GrAtlasedShaderHelpers.h
index c06f830..1e9ae1b 100644
--- a/src/gpu/ganesh/effects/GrAtlasedShaderHelpers.h
+++ b/src/gpu/ganesh/effects/GrAtlasedShaderHelpers.h
@@ -79,8 +79,7 @@
                                               int numTextureSamplers,
                                               const GrGLSLVarying& texIdx,
                                               const char* coordName,
-                                              const char* colorName,
-                                              GrGLSLColorSpaceXformHelper* cxh = nullptr) {
+                                              const char* colorName) {
     SkASSERT(numTextureSamplers > 0);
     // This shouldn't happen, but will avoid a crash if it does
     if (numTextureSamplers <= 0) {
@@ -92,14 +91,12 @@
     for (int i = 0; i < numTextureSamplers-1; ++i) {
         args.fFragBuilder->codeAppendf("if (%s == %d) { %s = ", texIdx.fsIn(), i, colorName);
         args.fFragBuilder->appendTextureLookup(args.fTexSamplers[i],
-                                               coordName,
-                                               cxh);
+                                               coordName);
         args.fFragBuilder->codeAppend("; } else ");
     }
     args.fFragBuilder->codeAppendf("{ %s = ", colorName);
     args.fFragBuilder->appendTextureLookup(args.fTexSamplers[numTextureSamplers - 1],
-                                           coordName,
-                                           cxh);
+                                           coordName);
     args.fFragBuilder->codeAppend("; }");
 }
 
diff --git a/src/gpu/ganesh/effects/GrBitmapTextGeoProc.cpp b/src/gpu/ganesh/effects/GrBitmapTextGeoProc.cpp
index 22c3518..4168152 100644
--- a/src/gpu/ganesh/effects/GrBitmapTextGeoProc.cpp
+++ b/src/gpu/ganesh/effects/GrBitmapTextGeoProc.cpp
@@ -95,7 +95,12 @@
 
         fragBuilder->codeAppend("half4 texColor;");
         append_multitexture_lookup(args, btgp.numTextureSamplers(),
-                                   texIdx, uv.fsIn(), "texColor", &fColorSpaceXformHelper);
+                                   texIdx, uv.fsIn(), "texColor");
+        if (!fColorSpaceXformHelper.isNoop()) {
+            fragBuilder->codeAppend("texColor = ");
+            fragBuilder->appendColorGamutXform("texColor", &fColorSpaceXformHelper);
+            fragBuilder->codeAppend(";");
+        }
 
         if (btgp.fMaskFormat == MaskFormat::kARGB) {
             // modulate by color
