diff --git a/app/views/game-menu/OptionsView.coffee b/app/views/game-menu/OptionsView.coffee
index ad4ca26f1..50cf43b76 100644
--- a/app/views/game-menu/OptionsView.coffee
+++ b/app/views/game-menu/OptionsView.coffee
@@ -11,7 +11,7 @@ module.exports = class OptionsView extends CocoView
   template: template
   aceConfig: {}
   defaultConfig:
-    language: 'javascript'
+    language: 'python'
     keyBindings: 'default'
     invisibles: false
     indentGuides: false
diff --git a/app/views/play/modal/PlayLevelModal.coffee b/app/views/play/modal/PlayLevelModal.coffee
index 160844471..ee1fd0f4b 100644
--- a/app/views/play/modal/PlayLevelModal.coffee
+++ b/app/views/play/modal/PlayLevelModal.coffee
@@ -75,7 +75,7 @@ module.exports = class PlayLevelModal extends ModalView
       patchMe ||= not _.isEqual val, lastHeroConfig[key]
       sessionHeroConfig[key] = val
       lastHeroConfig[key] = val
-    if (codeLanguage = @subviews.choose_hero_view.codeLanguage) and @subviews.choose_hero_view.codeLanguageChanged
+    if (codeLanguage = @subviews.choose_hero_view.codeLanguage) and (@subviews.choose_hero_view.codeLanguageChanged or not me.get('aceConfig'))
       patchSession ||= codeLanguage isnt @options.session.get('codeLanguage')
       patchMe ||= codeLanguage isnt me.get('aceConfig')?.language
       @options.session.set 'codeLanguage', codeLanguage