diff --git a/src/gpu/gl/debug/GrDebugGL.cpp b/src/gpu/gl/debug/GrDebugGL.cpp
index e5b00c1..ad06862 100644
--- a/src/gpu/gl/debug/GrDebugGL.cpp
+++ b/src/gpu/gl/debug/GrDebugGL.cpp
@@ -205,7 +205,6 @@
 
 void GrDebugGL::report() const {
     for (int i = 0; i < fObjects.count(); ++i) {
-        GrAlwaysAssert(0 < fObjects[i]->getHighRefCount());
         if (!fAbandoned) {
             GrAlwaysAssert(0 == fObjects[i]->getRefCount());
             GrAlwaysAssert(fObjects[i]->getDeleted());
diff --git a/src/gpu/gl/debug/GrFakeRefObj.h b/src/gpu/gl/debug/GrFakeRefObj.h
index 84ac499..27e27ce 100644
--- a/src/gpu/gl/debug/GrFakeRefObj.h
+++ b/src/gpu/gl/debug/GrFakeRefObj.h
@@ -22,7 +22,6 @@
 public:
     GrFakeRefObj()
         : fRef(0)
-        , fHighRefCount(0)
         , fMarkedForDeletion(false)
         , fDeleted(false) {
 
@@ -35,9 +34,6 @@
 
     void ref() {
         fRef++;
-        if (fHighRefCount < fRef) {
-            fHighRefCount = fRef;
-        }
     }
     void unref() {
         fRef--;
@@ -51,7 +47,6 @@
         }
     }
     int getRefCount() const             { return fRef; }
-    int getHighRefCount() const         { return fHighRefCount; }
 
     GrGLuint getID() const              { return fID; }
 
@@ -69,7 +64,6 @@
 protected:
 private:
     int         fRef;               // ref count
-    int         fHighRefCount;      // high water mark of the ref count
     GrGLuint    fID;                // globally unique ID
     bool        fMarkedForDeletion;
     // The deleted flag is only set when OpenGL thinks the object is deleted
