diff --git a/app/assets/javascripts/workers/worker_debug.js b/app/assets/javascripts/workers/worker_debug.js
index 422180858..8aef3ee8b 100644
--- a/app/assets/javascripts/workers/worker_debug.js
+++ b/app/assets/javascripts/workers/worker_debug.js
@@ -222,7 +222,10 @@ self.retrieveValueFromFrame = function retrieveValueFromFrame(args) {
                 {
                     try
                     {
-                        value = _.last(_.last(self.world.userCodeMap[currentThangID][currentSpellID].flow.states).statements).variables[prop];
+                        var flowStates = self.world.userCodeMap[currentThangID][currentSpellID].flow.states;
+                        //we have to go to the second last flowState as we run the world for one additional frame
+                        //to collect the flow
+                        value = _.last(flowStates[flowStates.length - 2].statements).variables[prop];
                     }
                     catch (e)
                     {
diff --git a/app/views/play/level/tome/spell_debug_view.coffee b/app/views/play/level/tome/spell_debug_view.coffee
index 0cb02061d..46933507a 100644
--- a/app/views/play/level/tome/spell_debug_view.coffee
+++ b/app/views/play/level/tome/spell_debug_view.coffee
@@ -35,7 +35,7 @@ module.exports = class DebugView extends View
     
   handleDebugValue: (returnObject) ->
     {key, value} = returnObject
-    unless key is @variableChain.join(".") then return
+    if @variableChain and not key is @variableChain.join(".") then return
     @$el.find("code").text "#{key}: #{value}"
     @$el.show().css(@pos)