[335100] Random web.ui.tests.AllWebUITests failures
diff --git a/bundles/org.eclipse.wst.jsdt.web.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.jsdt.web.core/META-INF/MANIFEST.MF
index 98d1bae..5db5ab9 100644
--- a/bundles/org.eclipse.wst.jsdt.web.core/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.jsdt.web.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name.0
 Bundle-SymbolicName: org.eclipse.wst.jsdt.web.core;singleton:=true
-Bundle-Version: 1.0.304.qualifier
+Bundle-Version: 1.0.305.qualifier
 Bundle-Activator: org.eclipse.wst.jsdt.web.core.internal.JsCorePlugin
 Bundle-Vendor: %Bundle-Vendor.0
 Bundle-Localization: plugin
diff --git a/bundles/org.eclipse.wst.jsdt.web.core/src/org/eclipse/wst/jsdt/web/core/javascript/JsTranslator.java b/bundles/org.eclipse.wst.jsdt.web.core/src/org/eclipse/wst/jsdt/web/core/javascript/JsTranslator.java
index 24672dd..ea0ae06 100644
--- a/bundles/org.eclipse.wst.jsdt.web.core/src/org/eclipse/wst/jsdt/web/core/javascript/JsTranslator.java
+++ b/bundles/org.eclipse.wst.jsdt.web.core/src/org/eclipse/wst/jsdt/web/core/javascript/JsTranslator.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2010 IBM Corporation and others.
+ * Copyright (c) 2008, 2011 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -272,19 +272,21 @@
 	 * Reinitialize some fields
 	 */
 	protected void reset() {
-		synchronized(fLock) {
-			scriptOffset = 0;
-			// reset progress monitor
-			fScriptText = new StringBuffer();
-			fCurrentNode = fStructuredDocument.getFirstStructuredDocumentRegion();
-			rawImports.clear();
-			importLocationsInHtml.clear();
-			scriptLocationInHtml.clear();
-			missingEndTagRegionStart = -1;
-			cancelParse = false;
-			fGeneratedRanges.clear();
+		synchronized (finished) {
+			synchronized (fLock) {
+				scriptOffset = 0;
+				// reset progress monitor
+				fScriptText = new StringBuffer();
+				fCurrentNode = fStructuredDocument.getFirstStructuredDocumentRegion();
+				rawImports.clear();
+				importLocationsInHtml.clear();
+				scriptLocationInHtml.clear();
+				missingEndTagRegionStart = -1;
+				cancelParse = false;
+				fGeneratedRanges.clear();
+			}
+			translate();
 		}
-		translate();
 	}
 
 
@@ -757,7 +759,8 @@
 			return;
 		}
 
-		reset();
+		cancel();
+		schedule();
 	}
 
 	/* (non-Javadoc)