diff --git a/de.prob.eventb.disprover.core/src/de/prob/eventb/disprover/core/internal/DisproverReasoner.java b/de.prob.eventb.disprover.core/src/de/prob/eventb/disprover/core/internal/DisproverReasoner.java
index 1bb8d39a129552d875860206f2fb0470f7346110..f388a87cde8b0d40972dc7ccc5479770575a5bf4 100644
--- a/de.prob.eventb.disprover.core/src/de/prob/eventb/disprover/core/internal/DisproverReasoner.java
+++ b/de.prob.eventb.disprover.core/src/de/prob/eventb/disprover/core/internal/DisproverReasoner.java
@@ -26,6 +26,7 @@ import org.rodinp.core.RodinDBException;
 import org.rodinp.core.basis.InternalElement;
 
 import de.prob.core.Animator;
+import de.prob.core.PrologException;
 import de.prob.eventb.disprover.core.DisproverReasonerInput;
 import de.prob.eventb.disprover.core.ICounterExample;
 import de.prob.exceptions.ProBException;
@@ -52,6 +53,9 @@ public class DisproverReasoner implements IReasoner {
 			DisproverReasonerInput disproverInput = (DisproverReasonerInput) input;
 			ICounterExample ce = evaluateSequent(sequent, disproverInput);
 			return createDisproverResult(ce, sequent, input);
+		} catch (PrologException e) {
+			Logger.log(Logger.WARNING, Status.WARNING, e.getMessage(), e);
+			return ProverFactory.reasonerFailure(this, input, e.getMessage());
 		} catch (ProBException e) {
 			Logger.log(Logger.WARNING, Status.WARNING, e.getMessage(), e);
 			return ProverFactory.reasonerFailure(this, input, e.getMessage());