diff --git a/app/lib/LevelLoader.coffee b/app/lib/LevelLoader.coffee
index f2322a247..2c0b98fff 100644
--- a/app/lib/LevelLoader.coffee
+++ b/app/lib/LevelLoader.coffee
@@ -164,6 +164,7 @@ module.exports = class LevelLoader extends CocoClass
     @supermodel.loadModel(model, resourceName)
 
   onSupermodelLoaded: ->
+    return if @destroyed
     console.log 'SuperModel for Level loaded in', new Date().getTime() - @t0, 'ms'
     @loadLevelSounds()
     @denormalizeSession()
@@ -182,7 +183,7 @@ module.exports = class LevelLoader extends CocoClass
           spriteSheetResource.spriteSheetKeys = keys
         else
           spriteSheetResource.markLoaded()
-          
+
     clearInterval @buildLoopInterval unless someLeft
 
   onBuildComplete: (e) ->
diff --git a/app/lib/simulator/Simulator.coffee b/app/lib/simulator/Simulator.coffee
index 5c6e4a0ad..b4ef3db3f 100644
--- a/app/lib/simulator/Simulator.coffee
+++ b/app/lib/simulator/Simulator.coffee
@@ -43,6 +43,7 @@ module.exports = class Simulator extends CocoClass
 
         @supermodel ?= new SuperModel()
         @supermodel.resetProgress()
+        @stopListening @supermodel, 'loaded-all'
         @levelLoader = new LevelLoader supermodel: @supermodel, levelID: @task.getLevelName(), sessionID: @task.getFirstSessionID(), headless: true
 
         if @supermodel.finished()
@@ -95,7 +96,7 @@ module.exports = class Simulator extends CocoClass
     else
       @sendSingleGameBackToServer(taskResults)
 
-    @cleanupSimulation()
+    @cleanupAndSimulateAnotherTask()
 
   sendSingleGameBackToServer: (results) ->
     @trigger 'statusUpdate', 'Simulation completed, sending results back to server!'
@@ -163,6 +164,7 @@ module.exports = class Simulator extends CocoClass
 
     @supermodel ?= new SuperModel()
     @supermodel.resetProgress()
+    @stopListening @supermodel, 'loaded-all'
     @levelLoader = new LevelLoader supermodel: @supermodel, levelID: levelID, sessionID: @task.getFirstSessionID(), headless: true
     if @supermodel.finished()
       @simulateGame()
@@ -232,6 +234,7 @@ module.exports = class Simulator extends CocoClass
 
   processResults: (simulationResults) ->
     taskResults = @formTaskResultsObject simulationResults
+    console.error "*** Error: taskResults has no taskID ***\ntaskResults:", taskResults, "\ntask:", @task unless taskResults.taskID
     @sendResultsBackToServer taskResults
 
   sendResultsBackToServer: (results) ->