diff --git a/gm/bitmapfilters.cpp b/gm/bitmapfilters.cpp
index 3b563dd..92c7b43 100644
--- a/gm/bitmapfilters.cpp
+++ b/gm/bitmapfilters.cpp
@@ -101,12 +101,6 @@
         return SkString("bitmapfilters");
     }
 
-#ifdef SK_BUILD_FOR_ANDROID
-    virtual uint32_t onGetFlags() const SK_OVERRIDE {
-        return this->INHERITED::onGetFlags() | GM::kSkipPipe_Flag;
-    }
-#endif
-
 	virtual SkISize onISize() {
         return make_isize(540, 330);
     }
diff --git a/gm/composeshader.cpp b/gm/composeshader.cpp
index 33d467b..f74a19e0 100644
--- a/gm/composeshader.cpp
+++ b/gm/composeshader.cpp
@@ -59,12 +59,6 @@
         return make_isize(640, 480);
     }
 
-#ifdef SK_BUILD_FOR_ANDROID
-    virtual uint32_t onGetFlags() const SK_OVERRIDE {
-        return this->INHERITED::onGetFlags() | GM::kSkipPipe_Flag;
-    }
-#endif
-
     virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE {
 
         SkPaint paint;
diff --git a/gm/gmmain.cpp b/gm/gmmain.cpp
index e79831a..b78fb9e 100644
--- a/gm/gmmain.cpp
+++ b/gm/gmmain.cpp
@@ -628,7 +628,7 @@
 static PipeFlagComboData gPipeWritingFlagCombos[] = {
     { "", 0 },
     { " cross-process", SkGPipeWriter::kCrossProcess_Flag },
-    { " cross-process, shared adress", SkGPipeWriter::kCrossProcess_Flag
+    { " cross-process, shared address", SkGPipeWriter::kCrossProcess_Flag
         | SkGPipeWriter::kSharedAddressSpace_SkGPipeFlag }
 };
 
diff --git a/src/ports/SkGlobalInitialization_default.cpp b/src/ports/SkGlobalInitialization_default.cpp
index 259ec44..4f99c9e 100644
--- a/src/ports/SkGlobalInitialization_default.cpp
+++ b/src/ports/SkGlobalInitialization_default.cpp
@@ -28,6 +28,8 @@
 #include "SkColorFilter.h"
 #include "SkColorMatrixFilter.h"
 #include "SkColorShader.h"
+#include "SkColorTable.h"
+#include "SkComposeShader.h"
 #include "SkCornerPathEffect.h"
 #include "SkDashPathEffect.h"
 #include "SkDiscretePathEffect.h"
@@ -55,7 +57,9 @@
     SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBlurImageFilter)
     SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkColorMatrixFilter)
     SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkColorShader)
+    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkColorTable)
     SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkComposePathEffect)
+    SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkComposeShader)
     SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkCornerPathEffect)
     SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDashPathEffect)
     SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDilateImageFilter)
