diff --git a/gpu/src/GrGpuGL.cpp b/gpu/src/GrGpuGL.cpp
index 177ddb1..973e1e4 100644
--- a/gpu/src/GrGpuGL.cpp
+++ b/gpu/src/GrGpuGL.cpp
@@ -471,10 +471,11 @@
     // TODO: Make these a preprocess that generate some compile time constants.
     // TODO: probe once at startup, rather than once per context creation.
 
-    fNPOTRenderTargetSupport = GrGLGetGLInterface()->fNPOTRenderTargetSupport;
-    if (fNPOTRenderTargetSupport < 0) {
+    if (GrGLGetGLInterface()->fNPOTRenderTargetSupport < 0) {
         fNPOTRenderTargetSupport =
             probe_for_npot_render_target_support(fNPOTTextureSupport);
+    } else {
+        fNPOTRenderTargetSupport = GrGLGetGLInterface()->fNPOTRenderTargetSupport;
     }
 
     if (gPrintStartupSpew) {
diff --git a/gpu/src/android/GrGLDefaultInterface_android.cpp b/gpu/src/android/GrGLDefaultInterface_android.cpp
index 38e7708..54bc2f6 100644
--- a/gpu/src/android/GrGLDefaultInterface_android.cpp
+++ b/gpu/src/android/GrGLDefaultInterface_android.cpp
@@ -19,9 +19,9 @@
 void GrGLSetDefaultGLInterface() {
   static GrGLInterface cmd_buffer_interface = {
     kES2_GrGLBinding,
-    -1,  // fNPOTRenderTargetSupport
-    -1,  // fMinRenderTargetHeight
-    -1,  // fMinRenderTargetWidth
+    kProbe_GrGLBug,  // fNPOTRenderTargetSupport
+    kProbe_GrGLBug,  // fMinRenderTargetHeight
+    kProbe_GrGLBug,  // fMinRenderTargetWidth
     glActiveTexture,
     glAttachShader,
     glBindAttribLocation,
diff --git a/gpu/src/mac/GrGLDefaultInterface_mac.cpp b/gpu/src/mac/GrGLDefaultInterface_mac.cpp
index a49f238..cfa528a 100644
--- a/gpu/src/mac/GrGLDefaultInterface_mac.cpp
+++ b/gpu/src/mac/GrGLDefaultInterface_mac.cpp
@@ -23,7 +23,7 @@
     static GrGLInterface gDefaultInterface;
     static bool gDefaultInterfaceInit;
     if (!gDefaultInterfaceInit) {
-        gDefaultInterface.fNPOTRenderTargetSupport = 1;
+        gDefaultInterface.fNPOTRenderTargetSupport = true;
         gDefaultInterface.fMinRenderTargetHeight = 1;
         gDefaultInterface.fMinRenderTargetWidth = 1;
 
diff --git a/gpu/src/mesa/GrGLDefaultInterface_mesa.cpp b/gpu/src/mesa/GrGLDefaultInterface_mesa.cpp
index 6852eb7..bc75a2c 100644
--- a/gpu/src/mesa/GrGLDefaultInterface_mesa.cpp
+++ b/gpu/src/mesa/GrGLDefaultInterface_mesa.cpp
@@ -38,7 +38,7 @@
             // We must have array and element_array buffer objects.
             return;
         }
-        gDefaultInterface.fNPOTRenderTargetSupport = 1;
+        gDefaultInterface.fNPOTRenderTargetSupport = true;
         gDefaultInterface.fMinRenderTargetHeight = 1;
         gDefaultInterface.fMinRenderTargetWidth = 1;
 
diff --git a/gpu/src/unix/GrGLDefaultInterface_unix.cpp b/gpu/src/unix/GrGLDefaultInterface_unix.cpp
index f58b215..2e233e0 100644
--- a/gpu/src/unix/GrGLDefaultInterface_unix.cpp
+++ b/gpu/src/unix/GrGLDefaultInterface_unix.cpp
@@ -40,7 +40,7 @@
             return;
         }
 
-        gDefaultInterface.fNPOTRenderTargetSupport = 1;
+        gDefaultInterface.fNPOTRenderTargetSupport = true;
         gDefaultInterface.fMinRenderTargetHeight = 1;
         gDefaultInterface.fMinRenderTargetWidth = 1;
 
diff --git a/gpu/src/win/GrGLDefaultInterface_win.cpp b/gpu/src/win/GrGLDefaultInterface_win.cpp
index 7f680a67..9b40a94 100644
--- a/gpu/src/win/GrGLDefaultInterface_win.cpp
+++ b/gpu/src/win/GrGLDefaultInterface_win.cpp
@@ -45,7 +45,7 @@
                 return;
             }
 
-            gDefaultInterface.fNPOTRenderTargetSupport = 1;
+            gDefaultInterface.fNPOTRenderTargetSupport = true;
             gDefaultInterface.fMinRenderTargetHeight = 1;
             gDefaultInterface.fMinRenderTargetWidth = 1;
 
