diff --git a/lottie/src/main/java/com/airbnb/lottie/model/content/Mask.java b/lottie/src/main/java/com/airbnb/lottie/model/content/Mask.java
index 32cb1c5..051afe2 100644
--- a/lottie/src/main/java/com/airbnb/lottie/model/content/Mask.java
+++ b/lottie/src/main/java/com/airbnb/lottie/model/content/Mask.java
@@ -1,7 +1,9 @@
 package com.airbnb.lottie.model.content;
 
 import android.util.JsonReader;
+import android.util.Log;
 
+import com.airbnb.lottie.L;
 import com.airbnb.lottie.LottieComposition;
 import com.airbnb.lottie.model.animatable.AnimatableIntegerValue;
 import com.airbnb.lottie.model.animatable.AnimatableShapeValue;
@@ -12,8 +14,7 @@
   public enum MaskMode {
     MaskModeAdd,
     MaskModeSubtract,
-    MaskModeIntersect,
-    MaskModeUnknown
+    MaskModeIntersect
   }
 
   private final MaskMode maskMode;
@@ -38,7 +39,8 @@
 
       reader.beginObject();
       while (reader.hasNext()) {
-        switch (reader.nextName()) {
+        String mode = reader.nextName();
+        switch (mode) {
           case "mode":
             switch (reader.nextString()) {
               case "a":
@@ -51,7 +53,8 @@
                 maskMode = MaskMode.MaskModeIntersect;
                 break;
               default:
-                maskMode = MaskMode.MaskModeUnknown;
+                Log.w(L.TAG, "Unknown mask mode " + mode + ". Defaulting to Add.");
+                maskMode = MaskMode.MaskModeAdd;
             }
             break;
           case "pt":
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 111ed3a..96276a3 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
@@ -25,7 +25,6 @@
 import com.airbnb.lottie.model.KeyPath;
 import com.airbnb.lottie.model.KeyPathElement;
 import com.airbnb.lottie.model.content.Mask;
-import com.airbnb.lottie.utils.Utils;
 import com.airbnb.lottie.value.LottieValueCallback;
 
 import java.util.ArrayList;
@@ -272,8 +271,6 @@
         case MaskModeIntersect:
           // TODO
           return;
-        case MaskModeUnknown:
-          return;
         case MaskModeAdd:
         default:
           path.computeBounds(tempMaskBoundsRect, false);
