diff --git a/tools/droiddoc/templates-ds/assets/js/docs.js b/tools/droiddoc/templates-ds/assets/js/docs.js
index a7440c7..557a242 100644
--- a/tools/droiddoc/templates-ds/assets/js/docs.js
+++ b/tools/droiddoc/templates-ds/assets/js/docs.js
@@ -15,8 +15,10 @@
 
 var navBarIsFixed = false;
 $(document).ready(function() {
-  // move the lang selector into the overflow menu
-  $("#moremenu .mid div.header:last").after($("#language").detach());
+  if (devsite) {
+    // move the lang selector into the overflow menu
+    $("#moremenu .mid div.header:last").after($("#language").detach());
+  }
 
   // init the fullscreen toggle click event
   $('#nav-swap .fullscreen').click(function(){
@@ -1051,8 +1053,20 @@
   // keep this for 50 years
   //alert("expires: " + expires)
   writeCookie("pref_lang", lang, null, expires);
-  if (submit) {
-    $("#setlang").submit();
+
+  //  #######  TODO:  Remove this condition once we're stable on devsite #######
+  //  This condition is only needed if we still need to support legacy GAE server
+  if (devsite) {
+    // Switch language when on Devsite server
+    if (submit) {
+      $("#setlang").submit();
+    }
+  } else {
+    // Switch language when on legacy GAE server
+    changeDocLang(lang);
+    if (submit) {
+      window.location = getBaseUri(location.pathname);
+    }
   }
 }
 
diff --git a/tools/droiddoc/templates-ds/customizations.cs b/tools/droiddoc/templates-ds/customizations.cs
index 342dd49..75559e6 100644
--- a/tools/droiddoc/templates-ds/customizations.cs
+++ b/tools/droiddoc/templates-ds/customizations.cs
@@ -330,12 +330,7 @@
     call:about_nav() ?><?cs 
   else ?><?cs 
     call:default_left_nav() ?> <?cs 
-  /if ?>
-    <script>
-      $(document).ready(function() {
-        changeNavLang(getLangPref());
-        });
-    </script><?cs 
+  /if ?><?cs 
 /def ?>
 
 <?cs # appears at the bottom of every page ?><?cs 
diff --git a/tools/droiddoc/templates-ds/head_tag.cs b/tools/droiddoc/templates-ds/head_tag.cs
index b704d44..cb22cc3 100644
--- a/tools/droiddoc/templates-ds/head_tag.cs
+++ b/tools/droiddoc/templates-ds/head_tag.cs
@@ -25,6 +25,11 @@
 <script src="//android-dot-devsite.googleplex.com/_static/js/android_3p-bundle.js" type="text/javascript"></script>
 <script type="text/javascript">
   var toRoot = "<?cs var:toroot ?>";
+  <?cs if:devsite ?>
+  var devsite = true;
+  <?cs else ?>
+  var devsite = false;
+  <?cs /if ?>
 </script>
 <script src="<?cs var:toroot ?>assets/js/docs.js" type="text/javascript"></script>
 <?cs if:reference.gms || reference.gcm || google?>
