diff --git a/dm/DMSrcSink.h b/dm/DMSrcSink.h
index 48c572b..4c15c92 100644
--- a/dm/DMSrcSink.h
+++ b/dm/DMSrcSink.h
@@ -8,7 +8,6 @@
 #include "SkCanvas.h"
 #include "SkData.h"
 #include "SkGPipe.h"
-#include "SkNullCanvas.h"
 #include "SkPicture.h"
 #include "gm.h"
 
@@ -86,6 +85,16 @@
 
 /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
 
+class NullSink : public Sink {
+public:
+    NullSink() {}
+
+    Error draw(const Src& src, SkBitmap*, SkWStream*, SkString*) const SK_OVERRIDE;
+    int enclave() const SK_OVERRIDE { return kAnyThread_Enclave; }
+    const char* fileExtension() const SK_OVERRIDE { return ""; }
+};
+
+
 class GPUSink : public Sink {
 public:
     GPUSink(GrContextFactory::GLContextType, GrGLStandard, int samples, bool dfText, bool threaded);
@@ -189,15 +198,6 @@
     SkAutoTDelete<Sink>         fSink;
 };
 
-class NullSink : public Sink {
-public:
-    Error draw(const Src& src, SkBitmap*, SkWStream*, SkString*) const SK_OVERRIDE {
-        return src.draw(SkCreateNullCanvas());
-    }
-    int enclave() const SK_OVERRIDE { return kAnyThread_Enclave; }
-    const char* fileExtension() const SK_OVERRIDE { return ""; }
-};
-
 }  // namespace DM
 
 #endif//DMSrcSink_DEFINED
