246795 Regression from 246275
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/taglib/ProjectDescription.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/taglib/ProjectDescription.java
index 269d7f4..ae17759 100644
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/taglib/ProjectDescription.java
+++ b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/taglib/ProjectDescription.java
@@ -938,7 +938,6 @@
 
 	private void ensureUpTodate() {
 		IClasspathEntry[] entries = null;
-		if (!fBuildPathIsDirty) {
 			try {
 				/*
 				 * If the Java nature isn't present (or something else is
@@ -952,7 +951,6 @@
 			catch (JavaModelException e) {
 				Logger.logException(e);
 			}
-		}
 		if (entries != null) {
 			try {
 				LOCK.acquire();
@@ -961,7 +959,7 @@
 				 * changed. This should cover most cases such as when a
 				 * library is added into or removed from a container.
 				 */
-				fBuildPathIsDirty = (fBuildPathEntryCount != entries.length);
+				fBuildPathIsDirty = fBuildPathIsDirty || (fBuildPathEntryCount != entries.length);
 
 				if (fBuildPathIsDirty) {
 					indexClasspath(entries);