diff --git a/core/plugins/org.eclipse.dltk.core/index/org/eclipse/dltk/internal/core/index2/ProgressJob.java b/core/plugins/org.eclipse.dltk.core/index/org/eclipse/dltk/internal/core/index2/ProgressJob.java
index 21992fd..839c8e8 100644
--- a/core/plugins/org.eclipse.dltk.core/index/org/eclipse/dltk/internal/core/index2/ProgressJob.java
+++ b/core/plugins/org.eclipse.dltk.core/index/org/eclipse/dltk/internal/core/index2/ProgressJob.java
@@ -20,6 +20,7 @@
 
 class ProgressJob extends Job {
 
+	private static transient boolean running;
 	private JobManager jobManager;
 	private IProgressMonitor monitor;
 
@@ -29,19 +30,29 @@
 	}
 
 	protected IStatus run(IProgressMonitor monitor) {
-		this.monitor = monitor;
-		monitor.beginTask(Messages.manager_indexingTask,
-				IProgressMonitor.UNKNOWN);
-
-		while (!monitor.isCanceled() && (jobManager.awaitingJobsCount()) > 0) {
-			try {
-				Thread.sleep(50);
-			} catch (InterruptedException e) {
-				// ignore
-			}
+		if (running) {
+			// Allow only one progress job
+			return Status.CANCEL_STATUS;
 		}
-		monitor.done();
-		return Status.OK_STATUS;
+		running = true;
+		try {
+			this.monitor = monitor;
+			monitor.beginTask(Messages.manager_indexingTask,
+					IProgressMonitor.UNKNOWN);
+
+			while (!monitor.isCanceled()
+					&& (jobManager.awaitingJobsCount()) > 0) {
+				try {
+					Thread.sleep(50);
+				} catch (InterruptedException e) {
+					// ignore
+				}
+			}
+			monitor.done();
+			return Status.OK_STATUS;
+		} finally {
+			running = false;
+		}
 	}
 
 	public void subTask(String message) {
