diff --git a/LottieSample/src/main/res/layout/control_bar.xml b/LottieSample/src/main/res/layout/control_bar.xml
index c8a0d1d..582de95 100644
--- a/LottieSample/src/main/res/layout/control_bar.xml
+++ b/LottieSample/src/main/res/layout/control_bar.xml
@@ -24,6 +24,11 @@
             android:id="@+id/warningsButton"
             style="@style/ControlBarItem" />
         <com.airbnb.lottie.samples.views.ControlBarItemToggleView
+            android:id="@+id/scaleToggle"
+            style="@style/ControlBarItem"
+            app:src="@drawable/ic_scale"
+            app:text="@string/control_bar_scale" />
+        <com.airbnb.lottie.samples.views.ControlBarItemToggleView
             android:id="@+id/borderToggle"
             style="@style/ControlBarItem"
             app:src="@drawable/ic_device"
@@ -39,11 +44,6 @@
             app:src="@drawable/ic_content_cut"
             app:text="@string/control_bar_trim" />
         <com.airbnb.lottie.samples.views.ControlBarItemToggleView
-            android:id="@+id/scaleToggle"
-            style="@style/ControlBarItem"
-            app:src="@drawable/ic_scale"
-            app:text="@string/control_bar_scale" />
-        <com.airbnb.lottie.samples.views.ControlBarItemToggleView
             android:id="@+id/speedToggle"
             style="@style/ControlBarItem"
             app:src="@drawable/ic_fast_forward"
diff --git a/lottie/src/main/java/com/airbnb/lottie/model/layer/BaseLayer.java b/lottie/src/main/java/com/airbnb/lottie/model/layer/BaseLayer.java
index 3386fa8..6543295 100644
--- a/lottie/src/main/java/com/airbnb/lottie/model/layer/BaseLayer.java
+++ b/lottie/src/main/java/com/airbnb/lottie/model/layer/BaseLayer.java
@@ -379,6 +379,11 @@
   private void applyMasks(Canvas canvas, Matrix matrix) {
     L.beginSection("Layer#saveLayer");
     saveLayerCompat(canvas, rect, dstInPaint, false);
+    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.P) {
+      // Pre-Pie, offscreen buffers were opaque which meant that outer border of a mask
+      // might get drawn depending on the result of float rounding.
+      canvas.drawColor(Color.TRANSPARENT);
+    }
     L.endSection("Layer#saveLayer");
     for (int i = 0; i < mask.getMasks().size(); i++) {
       Mask mask = this.mask.getMasks().get(i);
@@ -394,10 +399,9 @@
           break;
         case MASK_MODE_SUBTRACT:
           if (i == 0) {
-            // TODO: make a paint for this.
-            Paint paint = new Paint();
-            paint.setColor(Color.BLACK);
-            canvas.drawRect(rect, paint);
+            contentPaint.setColor(Color.BLACK);
+            contentPaint.setAlpha(255);
+            canvas.drawRect(rect, contentPaint);
           }
           if (mask.isInverted()) {
             applyInvertedSubtractMask(canvas, matrix, mask, maskAnimation, opacityAnimation);
