diff --git a/builder/src/main/java/com/android/builder/internal/incremental/DependencyData.java b/builder/src/main/java/com/android/builder/internal/incremental/DependencyData.java
index 22035fd..575e50c 100644
--- a/builder/src/main/java/com/android/builder/internal/incremental/DependencyData.java
+++ b/builder/src/main/java/com/android/builder/internal/incremental/DependencyData.java
@@ -17,6 +17,7 @@
 package com.android.builder.internal.incremental;
 
 import com.android.annotations.NonNull;
+import com.android.annotations.Nullable;
 import com.android.annotations.VisibleForTesting;
 import com.google.common.base.Charsets;
 import com.google.common.collect.Lists;
@@ -74,6 +75,7 @@
      *
      * @param dependencyFile the dependency file
      */
+    @Nullable
     public static DependencyData parseDependencyFile(@NonNull File dependencyFile)
             throws IOException {
         // first check if the dependency file is here.
@@ -91,6 +93,7 @@
     }
 
     @VisibleForTesting
+    @Nullable
     static DependencyData processDependencyData(@NonNull List<String> content) {
         // The format is technically:
         // output1 output2 [...]: dep1 dep2 [...]
@@ -142,6 +145,10 @@
             parseMode = nextMode;
         }
 
+        if (data.getMainFile() == null) {
+            return null;
+        }
+
         return data;
     }
 
diff --git a/gradle/src/main/groovy/com/android/build/gradle/internal/model/DefaultJavaCompileOptions.java b/gradle/src/main/groovy/com/android/build/gradle/internal/model/DefaultJavaCompileOptions.java
index 79a34b6..4de4a89 100644
--- a/gradle/src/main/groovy/com/android/build/gradle/internal/model/DefaultJavaCompileOptions.java
+++ b/gradle/src/main/groovy/com/android/build/gradle/internal/model/DefaultJavaCompileOptions.java
@@ -27,9 +27,10 @@
 class DefaultJavaCompileOptions implements JavaCompileOptions, Serializable {
     @NonNull
     private final String sourceCompatibility;
+    @NonNull
     private final String targetCompatibility;
 
-    DefaultJavaCompileOptions(CompileOptions options) {
+    DefaultJavaCompileOptions(@NonNull CompileOptions options) {
       sourceCompatibility = options.getSourceCompatibility().toString();
       targetCompatibility = options.getTargetCompatibility().toString();
     }
