diff --git a/src/engine/sequencer.js b/src/engine/sequencer.js
index 464cd7489..61a758f0a 100644
--- a/src/engine/sequencer.js
+++ b/src/engine/sequencer.js
@@ -177,6 +177,12 @@ class Sequencer {
         if (!currentBlockId) {
             // A "null block" - empty branch.
             thread.popStack();
+
+            // Did the null follow a hat block?
+            if (thread.stack.length === 0) {
+                thread.status = Thread.STATUS_DONE;
+                return;
+            }
         }
         // Save the current block ID to notice if we did control flow.
         while ((currentBlockId = thread.peekStack())) {