diff --git a/CHANGELOG.md b/CHANGELOG.md
index d3b85f70a208e2da25b77e9e7094475ef5def2ce..1ca4148c0b44e6d5c63378274368f74b509e467f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,6 +11,7 @@
 	* This is an internal change and should not affect any user-visible behavior. That is, all inputs that were accepted by previous versions should still be accepted - if any previously valid inputs are no longer accepted, this is a bug.
 	* As a side effect, the inspection and code completion features now work better in a few edge cases.
 * Fixed a bug where interrupting a command could make the kernel completely stop responding, requiring a manual restart.
+* Fixed the `:trace` command sometimes displaying transitions as `null`.
 
 ## [1.2.0](https://www3.hhu.de/stups/downloads/prob2-jupyter/prob2-jupyter-kernel-1.2.0-all.jar)
 
diff --git a/src/main/java/de/prob2/jupyter/commands/TraceCommand.java b/src/main/java/de/prob2/jupyter/commands/TraceCommand.java
index 82db34f6f0725188020ad9711fcd4b3829b8935a..b050b017fce3022dbcb9e3940f9dc3c5ab6fed4d 100644
--- a/src/main/java/de/prob2/jupyter/commands/TraceCommand.java
+++ b/src/main/java/de/prob2/jupyter/commands/TraceCommand.java
@@ -4,6 +4,7 @@ import java.util.List;
 
 import com.google.inject.Inject;
 
+import de.prob.animator.domainobjects.FormulaExpand;
 import de.prob.statespace.AnimationSelector;
 import de.prob.statespace.Trace;
 import de.prob.statespace.Transition;
@@ -66,7 +67,7 @@ public final class TraceCommand implements Command {
 		
 		final List<Transition> transitionList = trace.getTransitionList();
 		for (int i = 0; i < transitionList.size(); i++) {
-			final Transition transition = transitionList.get(i);
+			final Transition transition = transitionList.get(i).evaluate(FormulaExpand.TRUNCATE);
 			sbPlain.append('\n');
 			sbPlain.append(i);
 			sbPlain.append(": ");