diff --git a/de.prob.eventb.disprover.core/src/de/prob/eventb/disprover/core/internal/DisproverCommand.java b/de.prob.eventb.disprover.core/src/de/prob/eventb/disprover/core/internal/DisproverCommand.java
index 5c3c15d72597b614847b36318483adfcc255c57b..4ca492fab3ae241465a781ba51ee4f0c27005a97 100644
--- a/de.prob.eventb.disprover.core/src/de/prob/eventb/disprover/core/internal/DisproverCommand.java
+++ b/de.prob.eventb.disprover.core/src/de/prob/eventb/disprover/core/internal/DisproverCommand.java
@@ -106,11 +106,12 @@ public class DisproverCommand implements IComposableCommand {
 		job.setUser(true);
 		job.schedule();
 
-		while (job.getResult() == null && !pm.isCanceled()) {
+		while (job.getResult() == null && 
+		       (pm==null or !pm.isCanceled())) {
 			Thread.sleep(200);
 		}
 
-		if (pm.isCanceled()) {
+		if (pm != null && pm.isCanceled()) {
 			job.cancel();
 			throw new InterruptedException();
 		}