*** empty log message ***
diff --git a/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/messages.properties b/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/messages.properties
index 34ac951..1da68ec 100644
--- a/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/messages.properties
+++ b/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/messages.properties
@@ -1,7 +1,7 @@
 ### JavaBatchCompiler messages.
 
 ### compiler version id
-compiler.version = 0.275_R2_0_2
+compiler.version = 0.276_R2_0_2
 ### scanning
 scanning.start = Collecting source files inside {0}
 
diff --git a/org.eclipse.jdt.core/buildnotes_jdt-core.html b/org.eclipse.jdt.core/buildnotes_jdt-core.html
index 54ebeb9..309144d 100644
--- a/org.eclipse.jdt.core/buildnotes_jdt-core.html
+++ b/org.eclipse.jdt.core/buildnotes_jdt-core.html
@@ -11,27 +11,11 @@
 <h1>
 Eclipse Platform Build Notes&nbsp;<br>
 Java Development Tooling Core</h1>
-Eclipse SDK 2.0.2 Maintenance Build - ?th September 2002 
+Eclipse SDK 2.0.2 Maintenance Build - 13th September 2002 
 <br>Project org.eclipse.jdt.core v_276_R2_0_2
 <h2>
 What's new in this drop</h2>
 <ul>
-</ul> 
-
-<h3>Problem Reports Fixed</h3>
-   
-<h3>Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=21952">21952</a>  
-Circular Dependencies Message - Error vs. Warning Message  
-      
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Development Tooling Core</h1>
-Eclipse SDK 2.0.2 Maintenance Build - 12th September 2002 
-<br>Project org.eclipse.jdt.core v_275_R2_0_2
-<h2>
-What's new in this drop</h2>
-<ul>
   <li>JavaCore option added for the error level (warning or error) of incomplete classpath or projects involved
         in a cycle.
         <pre>
@@ -51,9 +35,7 @@
 </ul> 
 
 <h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23357">23357</a>  
-Build not triggered on build path change  
-<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22203">22203</a>  
+<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22203">22203</a>  
 More dependencies increase GUI waiting time [build path]
 <br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23318">23318</a>  
 Resolution of Circular Dep. preference/error message filtering  
@@ -63,6 +45,8 @@
 VerifyError in char cast of static final char referenced through instance
    
 <h3>Problem Reports Closed</h3>
+<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=21952">21952</a>  
+Circular Dependencies Message - Error vs. Warning Message  
    
 <h1>
 Eclipse Platform Build Notes&nbsp;<br>
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/JavaProject.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/JavaProject.java
index 6956524..2205453 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/JavaProject.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/JavaProject.java
@@ -1504,13 +1504,28 @@
 	/**
 	 * @see IJavaProject
 	 */
-	public boolean hasClasspathCycle(IClasspathEntry[] entries) {
-		
-		HashSet cycleParticipants = new HashSet();
-		updateCycleParticipants(entries, new ArrayList(), cycleParticipants, getWorkspace().getRoot());
-		return !cycleParticipants.isEmpty();
+	public boolean hasClasspathCycle(IClasspathEntry[] preferredClasspath) {
+		HashSet visited = new HashSet();
+		visited.add(getElementName());
+		return hasClasspathCycle(preferredClasspath, visited, ResourcesPlugin.getWorkspace().getRoot());
 	}
+	private boolean hasClasspathCycle(IClasspathEntry[] preferredClasspath, HashSet visited, IWorkspaceRoot workspaceRoot) {
+		try {
+			IClasspathEntry[] classpath = preferredClasspath == null ? getResolvedClasspath(true) : preferredClasspath;
 	
+			for (int i = 0, length = classpath.length; i < length; i++) {
+				IClasspathEntry entry;
+				if ((entry = classpath[i]).getEntryKind() == IClasspathEntry.CPE_PROJECT){
+					String projectName = entry.getPath().lastSegment();
+					if (!visited.add(projectName)) return true;
+					JavaProject project = (JavaProject)JavaCore.create(workspaceRoot.getProject(projectName));
+					if (project.hasClasspathCycle(null, visited, workspaceRoot)) return true;
+				}
+			}
+		} catch(JavaModelException e){
+		}
+		return false;
+	}	
 	public boolean hasCycleMarker(){
 		return this.getCycleMarker() != null;
 	}
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/SetClasspathOperation.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/SetClasspathOperation.java
index eb4589d..5a7f8cf 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/SetClasspathOperation.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/SetClasspathOperation.java
@@ -521,8 +521,7 @@
 		 
 		try {
 			JavaProject project = getProject();
-			if (!project.hasClasspathCycle(project.getResolvedClasspath(true))
-					&& !project.hasCycleMarker()){
+			if (!project.hasCycleMarker() && !project.hasClasspathCycle(project.getResolvedClasspath(true))){
 				return;
 			}