       F: "Female"
       M: "Male"
 
-    populateSelect ".selected_ability", @pokemon.getAbilities(), @pokemon.get("ability")
-    populateSelect ".selected_nature", @pokemon.getNatures(), @pokemon.get("nature")
-    setSelectizeValue(@$(".selected_item"), @pokemon.get("item"))
-    populateSelect ".selected_gender", ([g, displayedGenders[g]] for g in @pokemon.getGenders()), @pokemon.get("gender")
-    $nonStats.find(".selected_level").val(@pokemon.get("level"))
-    $nonStats.find(".selected_happiness").val(@pokemon.get("happiness"))
+    @disableEventsAndExecute =>
+      populateSelect ".selected_ability", @pokemon.getAbilities(), @pokemon.get("ability")
+      populateSelect ".selected_nature", @pokemon.getNatures(), @pokemon.get("nature")
+      setSelectizeValue(@$(".selected_item"), @pokemon.get("item"))
+      populateSelect ".selected_gender", ([g, displayedGenders[g]] for g in @pokemon.getGenders()), @pokemon.get("gender")
+      $nonStats.find(".selected_level").val(@pokemon.get("level"))
+      $nonStats.find(".selected_happiness").val(@pokemon.get("happiness"))
 
   renderStats: =>
     pokemon = @pokemon

    return this

  renderPokemon: =>
    @undelegateEvents() # disable events (mostly change vevents)
    @renderSpecies()
    @renderNonStats()
    @renderStats()
    @renderMoves()
    @renderPBV()
    @delegateEvents() # re-enable events

    # Disable entering values if this is a NullPokemon
    @$el.find("input, select")

    $moves.first().addClass('active')
    $table.removeClass('hidden')

  disableEventsAndExecute: (callback) =>
    isOutermost = !@_eventsDisabled

    @_eventsDisabled = true
    @undelegateEvents()  if isOutermost # disable events
    callback()
    @delegateEvents()  if isOutermost
    @_eventsDisabled = false  if isOutermost

  render: =>
    @$el.html @editTemplate(window: window, speciesList: @speciesList, itemList: @itemList, pokemon: @pokemon)
    attachSelectize(@$el.find(".species_list"),
