diff --git a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/project/J2EEProjectUtilities.java b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/project/J2EEProjectUtilities.java
index 805d21b..0c8d18a 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/project/J2EEProjectUtilities.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/project/J2EEProjectUtilities.java
@@ -694,7 +694,7 @@
 		catch (Exception e) {}
 		IPackageFragmentRoot[] sourceContainers = getSourceContainers(project);
 		for (int i=0; i<sourceContainers.length; i++) {
-			IFolder outputFolder = (IFolder) getOutputContainer(project,sourceContainers[i]);
+			IContainer outputFolder = getOutputContainer(project,sourceContainers[i]);
 			if (outputFolder != null && !result.contains(outputFolder))
 				result.add(outputFolder);
 		}
@@ -705,8 +705,11 @@
 		try {
 			IJavaProject jProject = JavaCore.create(project);
 			IPath outputPath = sourceContainer.getRawClasspathEntry().getOutputLocation();
-			if (outputPath == null)
+			if (outputPath == null) {
+				if (jProject.getOutputLocation().segmentCount()==1)
+					return project;
 				return project.getFolder(jProject.getOutputLocation().removeFirstSegments(1));
+			}
 			return project.getFolder(outputPath.removeFirstSegments(1));
 		} catch (Exception e) {}
 		return null;
