diff --git a/tests/GLInterfaceValidationTest.cpp b/tests/GLInterfaceValidationTest.cpp
index 541af8f..797ba72 100755
--- a/tests/GLInterfaceValidationTest.cpp
+++ b/tests/GLInterfaceValidationTest.cpp
@@ -22,14 +22,14 @@
         // We're supposed to fail the NVPR context type when we the native context that does not
         // support the NVPR extension.
         if (GrContextFactory::kNVPR_GLContextType == glCtxType &&
-            NULL != factory->getGLContext(GrContextFactory::kNative_GLContextType) &&
+            factory->getGLContext(GrContextFactory::kNative_GLContextType) &&
             !factory->getGLContext(GrContextFactory::kNative_GLContextType)->hasExtension("GL_NV_path_rendering")) {
             REPORTER_ASSERT(reporter, NULL == glCtxHelper);
             continue;
         }
 
-        REPORTER_ASSERT(reporter, NULL != glCtxHelper);
-        if (NULL != glCtxHelper) {
+        REPORTER_ASSERT(reporter, glCtxHelper);
+        if (glCtxHelper) {
             const GrGLInterface* interface = glCtxHelper->gl();
             REPORTER_ASSERT(reporter, interface->validate());
         }
