diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp
index c4e0ebe..e54e0de 100644
--- a/src/gpu/SkGpuDevice.cpp
+++ b/src/gpu/SkGpuDevice.cpp
@@ -913,9 +913,7 @@
     GrClip oldClip = context->getClip();
     context->setRenderTarget(dstTexture->asRenderTarget());
     context->setClip(srcRect);
-    // FIXME:  could just clear bounds
     context->clear(NULL, 0);
-    GrMatrix transM;
     GrPaint tempPaint;
     tempPaint.reset();
 
@@ -959,9 +957,6 @@
         context->setRenderTarget(dstTexture->asRenderTarget());
         SkRect dstRect(srcRect);
         scaleRect(&dstRect, 0.5f);
-        // Clear out 1 pixel border for linear filtering.
-        // FIXME:  for now, clear everything
-        context->clear(NULL, 0);
         paint.setTexture(0, srcTexture);
         context->drawRectToRect(paint, dstRect, srcRect);
         srcRect = dstRect;
@@ -972,13 +967,23 @@
     float* kernel = kernelStorage.get();
     buildKernel(sigma, kernel, kernelWidth);
 
+    // Clear out a halfWidth to the right of the srcRect to prevent the
+    // X convolution from reading garbage.
+    SkIRect clearRect = SkIRect::MakeXYWH(
+        srcRect.fRight, srcRect.fTop, halfWidth, srcRect.height());
+    context->clear(&clearRect, 0x0);
+
     context->setRenderTarget(dstTexture->asRenderTarget());
-    context->clear(NULL, 0);
     context->convolveInX(srcTexture, srcRect, kernel, kernelWidth);
     SkTSwap(srcTexture, dstTexture);
 
+    // Clear out a halfWidth below the srcRect to prevent the Y
+    // convolution from reading garbage.
+    clearRect = SkIRect::MakeXYWH(
+        srcRect.fLeft, srcRect.fBottom, srcRect.width(), halfWidth);
+    context->clear(&clearRect, 0x0);
+
     context->setRenderTarget(dstTexture->asRenderTarget());
-    context->clear(NULL, 0);
     context->convolveInY(srcTexture, srcRect, kernel, kernelWidth);
     SkTSwap(srcTexture, dstTexture);
 
@@ -988,9 +993,6 @@
         sampleM.setIDiv(srcTexture->width(), srcTexture->height());
         paint.getTextureSampler(0)->setMatrix(sampleM);
         context->setRenderTarget(dstTexture->asRenderTarget());
-        // Clear out 2 pixel border for bicubic filtering.
-        // FIXME:  for now, clear everything
-        context->clear(NULL, 0);
         paint.setTexture(0, srcTexture);
         SkRect dstRect(srcRect);
         scaleRect(&dstRect, scaleFactor);
