diff --git a/de.prob.core/src/de/prob/eventb/translator/Theories.java b/de.prob.core/src/de/prob/eventb/translator/Theories.java
index 15d6ace44a758cc4e5b5867a332973747c4fb370..453e0c833a5859a01020060307df62b9cfebde78 100644
--- a/de.prob.core/src/de/prob/eventb/translator/Theories.java
+++ b/de.prob.core/src/de/prob/eventb/translator/Theories.java
@@ -377,8 +377,13 @@ public class Theories {
 		prologOutput.openTerm("case");
 		prologOutput.printAtom(indArg);
 		prologOutput.openList();
-		for (FreeIdentifier fi : ex.getFreeIdentifiers()) {
-			prologOutput.printAtom(fi.getName());
+		if(ex==null) {
+		    throw new IllegalStateException("Empty expression for axiomatic recursive definition case " + es +
+		                        " and inductive argument " + indArg);
+		} else {
+            for (FreeIdentifier fi : ex.getFreeIdentifiers()) {
+                prologOutput.printAtom(fi.getName());
+            }
 		}
 		prologOutput.closeList();
 		printExpression(prologOutput, ex);