Index: dev/core/src/com/google/gwt/dev/js/ast/JsProgram.java
===================================================================
--- dev/core/src/com/google/gwt/dev/js/ast/JsProgram.java	(revision 3684)
+++ dev/core/src/com/google/gwt/dev/js/ast/JsProgram.java	(working copy)
@@ -71,7 +71,9 @@
   }
 
   public SourceInfo createSourceInfoSynthetic(String description) {
-    return createSourceInfo(0, SourceInfoJs.findCaller()).makeChild(description);
+    String caller = enableSourceInfoDescendants ? SourceInfoJs.findCaller()
+        : "Unknown caller";
+    return createSourceInfo(0, caller).makeChild(description);
   }
 
   public JsBooleanLiteral getBooleanLiteral(boolean truth) {
Index: dev/core/src/com/google/gwt/dev/jjs/ast/JProgram.java
===================================================================
--- dev/core/src/com/google/gwt/dev/jjs/ast/JProgram.java	(revision 3684)
+++ dev/core/src/com/google/gwt/dev/jjs/ast/JProgram.java	(working copy)
@@ -464,8 +464,9 @@
    * itself.
    */
   public SourceInfo createSourceInfoSynthetic(String description) {
-    return createSourceInfo(0, SourceInfoJava.findCaller()).makeChild(
-        description);
+    String caller = enableSourceInfoDescendants ? SourceInfoJava.findCaller()
+        : "Unknown caller";
+    return createSourceInfo(0, caller).makeChild(description);
   }
 
   public JReferenceType generalizeTypes(
