added guard
diff --git a/org.eclipse.ajdt.core/src/org/eclipse/ajdt/internal/core/ajde/CoreOutputLocationManager.java b/org.eclipse.ajdt.core/src/org/eclipse/ajdt/internal/core/ajde/CoreOutputLocationManager.java
index 78c99fd..1893d49 100644
--- a/org.eclipse.ajdt.core/src/org/eclipse/ajdt/internal/core/ajde/CoreOutputLocationManager.java
+++ b/org.eclipse.ajdt.core/src/org/eclipse/ajdt/internal/core/ajde/CoreOutputLocationManager.java
@@ -297,7 +297,11 @@
 	    // remember that this file has been asked for
 	    // presumably it is being recompiled
 	    if (Util.isJavaLikeFileName(compilationUnit.getName()) && !isComputingXmlFile()) {     
-	        compiledSourceFiles.add(compilationUnit);
+	    	if (compiledSourceFiles == null) {
+	    		System.err.println("Unexpectedly buildStarted() has not been called yet, unable to record: "+compilationUnit.getName());
+	    	} else {
+	    		compiledSourceFiles.add(compilationUnit);
+	    	}
 	    }
 	    
 		return getOutputLocationForResource(compilationUnit);
@@ -359,7 +363,7 @@
 
 		for (String src : srcFolderToOutput.keySet()) {
             if (pathStr.startsWith(src)) {
-                File out = (File) srcFolderToOutput.get(src);
+                File out = srcFolderToOutput.get(src);
                 return out;
             }
 	    }