         else
             @deleteImg = 'img/cx.png'
 
+        @interpreter = new CodeInterpreter @commands
         @editor = new PlayerCodeEditor 'ace-editor', \
             @commands, @codeConfig.initial, @codeConfig.show, @codeConfig.prefix, \
-            @codeConfig.postfix, @editorConfig.freeformEditting
-        @interpreter = new CodeInterpreter @commands
+            @codeConfig.postfix, @editorConfig.freeformEditting, @interpreter
 
         # Create editor buttons
         @acelne = document.createElement("div")

        @editor.clearSelection()
        @reIndentCode()
        @gotoLine @codePrefixLength + 1
        return

    reIndentCode: =>

            When the student code changes, run it through the
            interpreter to figure out commands remaining.
        ###
        if @editorConfig.freeformEditting
            if @scanTimer?
                window.clearTimeout @scanTimer
                @scanTimer = null
            @scanTimer = window.setTimeout @scan, 300
        else
        @UpdateCommandsStatus null
        if @onStudentCodeChangeCallback?
            @onStudentCodeChangeCallback changeData
        return
