diff --git a/app/lib/LevelOptions.coffee b/app/lib/LevelOptions.coffee
index c4e0d6778..d8aad177c 100644
--- a/app/lib/LevelOptions.coffee
+++ b/app/lib/LevelOptions.coffee
@@ -217,6 +217,7 @@ module.exports = LevelOptions =
     hidesCodeToolbar: true
     requiredGear: {feet: 'leather-boots', 'right-hand': 'crude-builders-hammer', 'programming-book': 'programmaticon-ii', eyes: 'crude-glasses'}
     restrictedGear: {feet: 'simple-boots', 'right-hand': 'simple-sword'}
+    requiredCode: ['topEnemy']
   'back-to-back':
     hidesCodeToolbar: true
     requiredGear: {feet: 'leather-boots', torso: 'leather-tunic', waist: 'leather-belt', 'programming-book': 'programmaticon-ii', eyes: 'crude-glasses', 'right-hand': 'simple-sword', 'left-hand': 'wooden-shield'}
diff --git a/app/lib/world/names.coffee b/app/lib/world/names.coffee
index fcee679d9..08f575801 100644
--- a/app/lib/world/names.coffee
+++ b/app/lib/world/names.coffee
@@ -50,6 +50,7 @@ module.exports.thangNames = thangNames =
     'Sage'
     'Ryan'
     'Bond'
+    'Philippian'
   ]
   'Soldier F': [
     'Sarah'
@@ -73,6 +74,7 @@ module.exports.thangNames = thangNames =
     'Natasha'
     'Aphrodite'
     'Gabrielle'
+    'Imani'
   ]
   'Peasant M': [
     'Yorik'
@@ -385,6 +387,7 @@ module.exports.thangNames = thangNames =
     'Neville'
     'Alphonse'
     'Edward'
+    'Shug'
   ]
   'Captain': [
     'Anya'
diff --git a/app/views/play/level/tome/CastButtonView.coffee b/app/views/play/level/tome/CastButtonView.coffee
index d425ad6db..5ed174743 100644
--- a/app/views/play/level/tome/CastButtonView.coffee
+++ b/app/views/play/level/tome/CastButtonView.coffee
@@ -148,6 +148,7 @@ module.exports = class CastButtonView extends CocoView
   onLeftRealTimeMultiplayerGame: (e) ->
     @inRealTimeMultiplayerSession = false
 
+  # https://mixpanel.com/report/227350/segmentation/#action:segment,arb_event:'Saw%20Victory',bool_op:or,chart_type:bar,from_date:-9,segfilter:!((filter:(operand:!('Ogre%20Encampment'),operator:%3D%3D),property:level,selected_property_type:string,type:string),(property:castButtonTextGroup,selected_property_type:number,type:number)),segment_type:number,to_date:0,type:unique,unit:day
   initButtonTextABTest: ->
     return if me.isAdmin()
     return unless $.i18n.lng() is 'en-US'
diff --git a/app/views/play/level/tome/SpellView.coffee b/app/views/play/level/tome/SpellView.coffee
index 16a2dd338..39d3445ec 100644
--- a/app/views/play/level/tome/SpellView.coffee
+++ b/app/views/play/level/tome/SpellView.coffee
@@ -810,6 +810,7 @@ module.exports = class SpellView extends CocoView
   onDisableControls: (e) -> @toggleControls e, false
   onEnableControls: (e) -> @toggleControls e, @writable
   toggleControls: (e, enabled) ->
+    return if @destroyed
     return if e?.controls and not ('editor' in e.controls)
     return if enabled is @controlsEnabled
     @controlsEnabled = enabled and @writable
diff --git a/server/achievements/EarnedAchievement.coffee b/server/achievements/EarnedAchievement.coffee
index bffe0be69..5ee686989 100644
--- a/server/achievements/EarnedAchievement.coffee
+++ b/server/achievements/EarnedAchievement.coffee
@@ -1,6 +1,7 @@
 mongoose = require 'mongoose'
 jsonschema = require '../../app/schemas/models/earned_achievement'
 util = require '../../app/lib/utils'
+log = require 'winston'
 
 EarnedAchievementSchema = new mongoose.Schema({
   notified:
@@ -68,6 +69,6 @@ EarnedAchievementSchema.statics.createForAchievement = (achievement, doc, origin
     (new EarnedAchievement(earned)).save (err, doc) ->
       return log.error err if err?
       earnedPoints = worth
-      wrapUp(doc)  
+      wrapUp(doc)
 
 module.exports = EarnedAchievement = mongoose.model('EarnedAchievement', EarnedAchievementSchema)