diff --git a/src/main/org/apache/tools/ant/taskdefs/Ant.java b/src/main/org/apache/tools/ant/taskdefs/Ant.java index 23d6a6748..4d49898eb 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Ant.java +++ b/src/main/org/apache/tools/ant/taskdefs/Ant.java @@ -321,11 +321,13 @@ public class Ant extends Task { + " in build file " + antFile, Project.MSG_VERBOSE); newProject.setUserProperty("ant.file" , antFile); + String thisAntFile = getProject().getProperty("ant.file"); // Are we trying to call the target in which we are defined (or // the build file if this is a top level task)? - if (newProject.resolveFile(newProject.getProperty("ant.file")) - .equals(getProject().resolveFile(getProject() - .getProperty("ant.file"))) && getOwningTarget() != null) { + if (thisAntFile != null + && newProject.resolveFile(newProject.getProperty("ant.file")) + .equals(getProject().resolveFile(thisAntFile)) + && getOwningTarget() != null) { if (getOwningTarget().getName().equals("")) { if (getTaskName().equals("antcall")) {