diff --git a/app/styles/common/site-chrome.sass b/app/styles/common/site-chrome.sass
index c2f8b53b7..24368c806 100644
--- a/app/styles/common/site-chrome.sass
+++ b/app/styles/common/site-chrome.sass
@@ -147,6 +147,7 @@
     width: 1024px
     border: 5px solid rgb(110,88,41)
     padding: 20px 12px
+    min-height: 300px
 
     
   //- Footer
diff --git a/app/templates/i18n/i18n-home-view.jade b/app/templates/i18n/i18n-home-view.jade
index c0604e32b..4d1e7805d 100644
--- a/app/templates/i18n/i18n-home-view.jade
+++ b/app/templates/i18n/i18n-home-view.jade
@@ -1,23 +1,26 @@
 extends /templates/base
 
 block content
-  .progress
-    .progress-bar.progress-bar-info(role="progressbar" aria-valuenow=progress aria-valuemin="0" aria-valuemax="100" style="width: "+progress+"%")= progress+"%"
+  if selectedLanguage
+    .progress
+      .progress-bar.progress-bar-info(role="progressbar" aria-valuenow=progress aria-valuemin="0" aria-valuemax="100" style="width: "+progress+"%")= progress+"%"
   
   table.table.table-condensed
     tr
       th
         select#language-select.form-control.input-sm
+          option(value='') Select one...
 
       th Type
       th Specifically Covered
       th Generally Covered
-    
-    for model in collection.models
-      tr
-        td
-          a(href=model.i18nURLBase+model.get('slug'))= model.get('name')
-        td= model.constructor.className
-        td(class=model.specificallyCovered ? 'success' : 'danger')= model.specificallyCovered ? 'Yes' : 'No'
-        td(class=model.generallyCovered ? 'success' : 'danger')= model.generallyCovered ? 'Yes' : 'No'
+
+    if selectedLanguage
+      for model in collection.models
+        tr
+          td
+            a(href=model.i18nURLBase+model.get('slug'))= model.get('name')
+          td= model.constructor.className
+          td(class=model.specificallyCovered ? 'success' : 'danger')= model.specificallyCovered ? 'Yes' : 'No'
+          td(class=model.generallyCovered ? 'success' : 'danger')= model.generallyCovered ? 'Yes' : 'No'
         
diff --git a/app/views/i18n/I18NEditModelView.coffee b/app/views/i18n/I18NEditModelView.coffee
index b01a0ecf7..d21cf1cb3 100644
--- a/app/views/i18n/I18NEditModelView.coffee
+++ b/app/views/i18n/I18NEditModelView.coffee
@@ -47,6 +47,7 @@ module.exports = class I18NEditModelView extends RootView
     @hush = true
     $select = @$el.find('#language-select').empty()
     @addLanguagesToSelect($select, @selectedLanguage)
+    @$el.find('option[value="en-US"]').remove()
     @hush = false
     editors = []
 
@@ -123,6 +124,9 @@ module.exports = class I18NEditModelView extends RootView
   onLanguageSelectChanged: (e) ->
     return if @hush
     @selectedLanguage = $(e.target).val()
+    if @selectedLanguage
+      me.set('preferredLanguage', @selectedLanguage)
+      me.patch()
     @render()
     
   onSubmitPatch: (e) ->
diff --git a/app/views/i18n/I18NHomeView.coffee b/app/views/i18n/I18NHomeView.coffee
index 66be39cc1..b0658dd4a 100644
--- a/app/views/i18n/I18NHomeView.coffee
+++ b/app/views/i18n/I18NHomeView.coffee
@@ -19,7 +19,7 @@ module.exports = class I18NHomeView extends RootView
 
   constructor: (options) ->
     super(options)
-    @selectedLanguage = me.get('preferredLanguage', true)
+    @selectedLanguage = me.get('preferredLanguage') or ''
 
     #-
     @aggregateModels = new Backbone.Collection()
@@ -92,7 +92,12 @@ module.exports = class I18NHomeView extends RootView
   afterRender: ->
     super()
     @addLanguagesToSelect(@$el.find('#language-select'), @selectedLanguage)
+    @$el.find('option[value="en-US"]').remove()
 
   onLanguageSelectChanged: (e) ->
     @selectedLanguage = $(e.target).val()
+    if @selectedLanguage
+      # simplest solution, see if this actually ends up being not what people want
+      me.set('preferredLanguage', @selectedLanguage)
+      me.patch()
     @render()
diff --git a/server/commons/Handler.coffee b/server/commons/Handler.coffee
index adabf2d8e..755238dd1 100644
--- a/server/commons/Handler.coffee
+++ b/server/commons/Handler.coffee
@@ -48,7 +48,13 @@ module.exports = class Handler
     flattened = deltasLib.flattenDelta(delta)
     _.all flattened, (delta) ->
       # sometimes coverage gets moved around... allow other changes to happen to i18nCoverage
-      return _.isArray(delta.o) and (('i18n' in delta.dataPath and delta.o.length is 1) or 'i18nCoverage' in delta.dataPath)
+      return false unless _.isArray(delta.o)
+      return true if 'i18nCoverage' in delta.dataPath
+      return false unless delta.o.length is 1
+      index = delta.deltaPath.indexOf('i18n')
+      return false if index is -1
+      return false if delta.deltaPath[index+1] is 'en-US'
+      return true
 
   formatEntity: (req, document) -> document?.toObject()
   getEditableProperties: (req, document) ->
diff --git a/server/levels/level_handler.coffee b/server/levels/level_handler.coffee
index 665c39444..fcb311dea 100644
--- a/server/levels/level_handler.coffee
+++ b/server/levels/level_handler.coffee
@@ -310,6 +310,7 @@ LevelHandler = class LevelHandler extends Handler
       @sendSuccess res, data
 
   hasAccessToDocument: (req, document, method=null) ->
+    method ?= req.method
     return true if method is null or method is 'get'
     super(req, document, method)
 
diff --git a/server/routes/auth.coffee b/server/routes/auth.coffee
index f1cde9487..fee2f2644 100644
--- a/server/routes/auth.coffee
+++ b/server/routes/auth.coffee
@@ -192,7 +192,8 @@ module.exports.loginUser = loginUser = (req, res, user, send=true, next=null) ->
 module.exports.makeNewUser = makeNewUser = (req) ->
   user = new User({anonymous: true})
   user.set 'testGroupNumber', Math.floor(Math.random() * 256)  # also in app/lib/auth
-  user.set 'preferredLanguage', languages.languageCodeFromAcceptedLanguages req.acceptedLanguages
+  lang = languages.languageCodeFromAcceptedLanguages req.acceptedLanguages
+  user.set 'preferredLanguage', lang if lang[...2] isnt 'en'
   user.set 'lastIP', req.connection.remoteAddress
 
 createMailOptions = (receiver, password) ->