diff --git a/de.prob.core/src/de/prob/core/internal/AnimatorImpl.java b/de.prob.core/src/de/prob/core/internal/AnimatorImpl.java
index 3b302ad1594d5773fc3ec6c9e9f1b25a16255962..29ff74fcd6638154a772fed40b93bddbd7d0919c 100644
--- a/de.prob.core/src/de/prob/core/internal/AnimatorImpl.java
+++ b/de.prob.core/src/de/prob/core/internal/AnimatorImpl.java
@@ -162,7 +162,11 @@ public class AnimatorImpl {
 			assert !(topnode instanceof ACallBackResult);
 
 			if (!(topnode instanceof AYesResult)) {
-				throw new ResultParserException("Prolog query failed - received " + topnode.getClass().getSimpleName() + " in response to query: " + query, null);
+			    if (query.length() > 400) {
+				  throw new ResultParserException("Prolog query failed - received " + topnode.getClass().getSimpleName() + " in response to query: " + query.substring(0, 400), null);
+				} else {
+				  throw new ResultParserException("Prolog query failed - received " + topnode.getClass().getSimpleName() + " in response to query: " + query, null);
+				}
 			}
 			bindings = BindingGenerator.createBinding(PrologTermGenerator.toPrologTerm(topnode));
 		} catch (ResultParserException e) {