diff --git a/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/separateVM/SeparateVMTests.java b/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/separateVM/SeparateVMTests.java
index f520b61..626bbf8 100644
--- a/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/separateVM/SeparateVMTests.java
+++ b/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/separateVM/SeparateVMTests.java
@@ -200,7 +200,7 @@
 		
 		//find the log file generated by the xml logger
 		getProject().refreshLocal(IResource.DEPTH_INFINITE, null);
-		IFile iFile= getProject().getFile("log.xml");	
+		IFile iFile= getProject().getFolder("buildfiles").getFile("log.xml");	
 		assertTrue("Could not find log file named: log.xml" , iFile.exists());
 		File file= iFile.getLocation().toFile();
 		String content= getFileContentAsString(file);
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntLaunchDelegate.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntLaunchDelegate.java
index b6652c6..5ccf8df 100644
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntLaunchDelegate.java
+++ b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntLaunchDelegate.java
@@ -522,6 +522,7 @@
 		}
 		
 		ILaunchConfigurationWorkingCopy copy= configuration.getWorkingCopy();
+		setDefaultWorkingDirectory(copy);
 		copy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, commandLine.toString());
 		StringBuffer vmArgs= generateVMArguments(copy, setInputHandler, antHome);
 		copy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, vmArgs.toString());
@@ -724,4 +725,20 @@
 		}
 		return super.saveBeforeLaunch(configuration, mode, monitor);
 	}
+	
+	/**
+	 * Sets the default working directory to be the parent folder of the buildfile if
+	 * the user has not explicitly set the working directory.
+	 */
+	private void setDefaultWorkingDirectory(ILaunchConfigurationWorkingCopy copy) {
+		try {
+			String wd = copy.getAttribute(IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY, (String)null);
+			if (wd == null) {
+				wd= ExternalToolsUtil.getLocation(copy).removeLastSegments(1).toOSString();
+				copy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY, wd);
+			}
+		} catch (CoreException e) {
+			AntUIPlugin.log(e.getStatus());
+		}
+	}
 }
