diff --git a/src/gpu/GrProxyProvider.cpp b/src/gpu/GrProxyProvider.cpp
index 24bcb0a..25d8839 100644
--- a/src/gpu/GrProxyProvider.cpp
+++ b/src/gpu/GrProxyProvider.cpp
@@ -213,7 +213,7 @@
     SkColorType ct = info.colorType();
     GrColorType grCT = SkColorTypeToGrColorType(ct);
 
-    GrBackendFormat format = this->caps()->getBackendFormatFromColorType(ct);
+    GrBackendFormat format = this->caps()->getBackendFormatFromColorType(grCT);
     if (!format.isValid()) {
         return nullptr;
     }
@@ -227,7 +227,8 @@
         copy8888.setImmutable();
         srcImage = SkMakeImageFromRasterBitmap(copy8888, kNever_SkCopyPixelsMode);
         ct = kRGBA_8888_SkColorType;
-        format = this->caps()->getBackendFormatFromColorType(ct);
+        grCT = GrColorType::kRGBA_8888;
+        format = this->caps()->getBackendFormatFromColorType(grCT);
         if (!format.isValid()) {
             return nullptr;
         }
@@ -331,9 +332,8 @@
                                         SkBudgeted::kYes, SkBackingFit::kExact);
     }
 
-    SkColorType colorType = bitmap.info().colorType();
-    GrColorType grColorType = SkColorTypeToGrColorType(colorType);
-    GrBackendFormat format = this->caps()->getBackendFormatFromColorType(colorType);
+    GrColorType grColorType = SkColorTypeToGrColorType(bitmap.info().colorType());
+    GrBackendFormat format = this->caps()->getBackendFormatFromColorType(grColorType);
     if (!format.isValid()) {
         return nullptr;
     }
@@ -348,8 +348,8 @@
         copy8888.setImmutable();
         baseLevel = SkMakeImageFromRasterBitmap(copy8888, kNever_SkCopyPixelsMode);
         desc.fConfig = kRGBA_8888_GrPixelConfig;
-        colorType = kRGBA_8888_SkColorType;
-        format = this->caps()->getBackendFormatFromColorType(colorType);
+        grColorType = GrColorType::kRGBA_8888;
+        format = this->caps()->getBackendFormatFromColorType(grColorType);
         if (!format.isValid()) {
             return nullptr;
         }
