diff --git a/app/lib/simulator/Simulator.coffee b/app/lib/simulator/Simulator.coffee
index 38463114c..1b264eae2 100644
--- a/app/lib/simulator/Simulator.coffee
+++ b/app/lib/simulator/Simulator.coffee
@@ -1,9 +1,10 @@
 SuperModel = require 'models/SuperModel'
+CocoClass = require 'lib/CocoClass'
 LevelLoader = require 'lib/LevelLoader'
 GoalManager = require 'lib/world/GoalManager'
 God = require 'lib/God'
 
-module.exports = class Simulator
+module.exports = class Simulator extends CocoClass
 
   constructor: ->
     _.extend @, Backbone.Events
@@ -14,9 +15,11 @@ module.exports = class Simulator
   destroy: ->
     @off()
     @cleanupSimulation()
+    super()
     # TODO: More teardown?
 
   fetchAndSimulateTask: =>
+    return if @destroyed
     @trigger 'statusUpdate', 'Fetching simulation data!'
     $.ajax
       url: @taskURL
@@ -49,6 +52,7 @@ module.exports = class Simulator
     @levelLoader.once 'loaded-all', @simulateGame
 
   simulateGame: =>
+    return if @destroyed
     @trigger 'statusUpdate', 'All resources loaded, simulating!', @task.getSessions()
     @assignWorldAndLevelFromLevelLoaderAndDestroyIt()
     @setupGod()