| Index: src/core/SkCanvas.cpp
 | 
| diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
 | 
| index 89c3c9e0061d09ac1511d36303e629d142820cba..f8731e9ad2004b7c96b36c47a671abcbbce6278e 100644
 | 
| --- a/src/core/SkCanvas.cpp
 | 
| +++ b/src/core/SkCanvas.cpp
 | 
| @@ -1217,8 +1217,7 @@ void SkCanvas::internalSaveLayer(const SaveLayerRec& rec, SaveLayerStrategy stra
 | 
|       *  Perhaps in the future we could augment #5 to apply REMAINDER as part of the draw (no longer
 | 
|       *  a sprite operation) to avoid the extra buffer/overhead of MatrixImageFilter.
 | 
|       */
 | 
| -    if (imageFilter &&
 | 
| -        !stashedMatrix.isScaleTranslate() &&
 | 
| +    if (imageFilter && !stashedMatrix.isScaleTranslate() && !imageFilter->canHandleAffine() &&
 | 
|          stashedMatrix.decomposeScale(&scale, &remainder))
 | 
|      {
 | 
|          // We will restore the matrix (which we are overwriting here) in restore via fStashedMatrix
 | 
| 
 |