diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index a5cbaa74515c8bead83470e883b2d4d035004f89..2b4bb139819307e1503fb9e751eb2b9ef4324270 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -515,7 +515,6 @@ set(viewer_SOURCE_FILES
     llvoground.cpp
     llvoicechannel.cpp
     llvoiceclient.cpp
-    llvoicedw.cpp
     llvoicevisualizer.cpp
     llvoicevivox.cpp
     llvoinventorylistener.cpp
@@ -1019,7 +1018,6 @@ set(viewer_HEADER_FILES
     llvoground.h
     llvoicechannel.h
     llvoiceclient.h
-    llvoicedw.h
     llvoicevisualizer.h
     llvoicevivox.h
     llvoinventorylistener.h
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 0b2e657fbbb6f48a6bbafc910882c44a6aa9e926..480c0ffd03ed764ffe1865f5ba208c0c8eaad8ba 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -3488,7 +3488,7 @@
       <key>Type</key>
       <string>Boolean</string>
       <key>Value</key>
-      <integer>1</integer>
+      <integer>0</integer>
     </map>
     <key>ForceMandatoryUpdate</key>
     <map>
@@ -8579,7 +8579,7 @@
       <key>Type</key>
       <string>Boolean</string>
       <key>Value</key>
-      <integer>1</integer>
+      <integer>0</integer>
     </map>
     <key>ShowTangentBasis</key>
     <map>
diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp
index 2bd763c681033969bc89aac6e17e534a7ded5ecc..22fb70de73b04df365f4dc04498f89f0d63373d9 100644
--- a/indra/newview/llpanellogin.cpp
+++ b/indra/newview/llpanellogin.cpp
@@ -715,7 +715,9 @@ void LLPanelLogin::updateLocationCombo( bool force_visible )
 	sInstance->childSetVisible("start_location_combo", show_start);
 	sInstance->childSetVisible("start_location_text", show_start);
 	
-	sInstance->childSetVisible("server_combo", TRUE);
+	BOOL show_server = gSavedSettings.getBOOL("ForceShowGrid");
+	sInstance->childSetVisible("server_combo_text", show_server);	
+	sInstance->childSetVisible("server_combo", show_server);
 }
 
 // static
diff --git a/indra/newview/llvoiceclient.cpp b/indra/newview/llvoiceclient.cpp
index 9b311bbb8179a4e302d84f3192bd1948b293fc43..250e36608740e1701dc0740279d6f37f7569e2ec 100644
--- a/indra/newview/llvoiceclient.cpp
+++ b/indra/newview/llvoiceclient.cpp
@@ -33,7 +33,6 @@
 #include "llvoiceclient.h"
 #include "llviewercontrol.h"
 #include "llviewerwindow.h"
-#include "llvoicedw.h"
 #include "llvoicevivox.h"
 #include "llviewernetwork.h"
 #include "llhttpnode.h"
@@ -101,11 +100,7 @@ void LLVoiceClient::userAuthorized(const std::string& user_id, const LLUUID &age
 	// with a table lookup of sorts.
 	std::string voice_server = gSavedSettings.getString("VoiceServerType");
 	LL_DEBUGS("Voice") << "voice server type " << voice_server << LL_ENDL;
-	if(voice_server == "diamondware")
-	{
-		mVoiceModule = (LLVoiceModuleInterface *)LLDiamondwareVoiceClient::getInstance();
-	}
-	else if(voice_server == "vivox")
+	if(voice_server == "vivox")
 	{
 		mVoiceModule = (LLVoiceModuleInterface *)LLVivoxVoiceClient::getInstance();
 	}
diff --git a/indra/newview/llvoicevivox.cpp b/indra/newview/llvoicevivox.cpp
index bb657841c4af734c0ebf2e443688839f295994da..dbecf11597cbea62d4bed8dcdc3f2a35776bc17b 100644
--- a/indra/newview/llvoicevivox.cpp
+++ b/indra/newview/llvoicevivox.cpp
@@ -4797,7 +4797,7 @@ std::string LLVivoxVoiceClient::nameFromID(const LLUUID &uuid)
 		LLStringUtil::replaceChar(result, '_', ' ');
 		return result;
 	}
-	// Prepending this apparently prevents conflicts with reserved names inside the vivox and diamondware code.
+	// Prepending this apparently prevents conflicts with reserved names inside the vivox code.
 	result = "x";
 	
 	// Base64 encode and replace the pieces of base64 that are less compatible 
diff --git a/indra/newview/skins/default/xui/en/panel_login.xml b/indra/newview/skins/default/xui/en/panel_login.xml
index ce0a4dd5d00967bbb23c2301c07db5c8351a558a..982ff0fbac3bc34a989781297c853d76586765fe 100644
--- a/indra/newview/skins/default/xui/en/panel_login.xml
+++ b/indra/newview/skins/default/xui/en/panel_login.xml
@@ -48,8 +48,8 @@ auto_resize="false"
 follows="left|bottom"
 name="login"
 layout="topleft"
-width="850"
-min_width="850"
+width="695"
+min_width="695"
 user_resize="false"
 height="80">
 <text
@@ -80,11 +80,12 @@ height="15"
 left_pad="8"
 name="password_text"
 top="20"
-    width="135">
+    width="150">
        Password:
 </text>
 <line_editor
 follows="left|bottom"
+handle_edit_keys_directly="true"
   height="22"
   max_length="16"
 name="password_edit"
@@ -100,14 +101,26 @@ label="Remember password"
   top_pad="3"
   name="remember_check"
  width="135" />
+<button
+  follows="left|bottom"
+  height="23"
+  image_unselected="PushButton_On"
+  image_selected="PushButton_On_Selected"
+  label="Log In"
+  label_color="White"
+  layout="topleft"
+  left_pad="10"
+  name="connect_btn"
+  top="35"
+  width="90" />
   <text
   follows="left|bottom"
   font="SansSerifSmall"
   height="15"
-  left_pad="10"
+  left_pad="18"
   name="start_location_text"
 top="20"
-  width="250">
+  width="130">
        Start at:
  </text>
 <combo_box
@@ -118,7 +131,7 @@ control_name="LoginLocation"
 max_chars="128"
 top_pad="0"
 name="start_location_combo"
-     width="250">
+     width="135">
 <combo_box.item
 label="My last location"
 name="MyLastLocation"
@@ -131,37 +144,16 @@ name="MyHome"
 label="&lt;Type region name&gt;"
 name="Typeregionname"   value="" />
 </combo_box>
-<button
-  height="23"
-  image_unselected="PushButton_On"
-  image_selected="PushButton_On_Selected"
-  label="Log In"
-  label_color="White"
-  layout="topleft"
-  left_pad="10"
-  name="connect_btn"
-  top="35"
-  width="90" />
-  <text
-  follows="left|bottom"
-  font="SansSerifSmall"
-  height="15"
-  left_pad="10"
-  name="start_location_text"
-top="20"
-  width="150">
-       Grid Name:
- </text>
 <combo_box
-follows="left|bottom"
 allow_text_entry="true"
 font="SansSerifSmall"
-height="23"
+   follows="left|right|bottom"
+   height="23"
+layout="topleft"
+top_pad="2"
 name="server_combo"
-top_pad="0"
-width="150"
-max_chars="255"
-visible="false" />
+width="135"
+  visible="false" />
 </layout_panel>
 <layout_panel
 follows="right|bottom"
@@ -191,7 +183,7 @@ height="16"
 name="forgot_password_text"
 top_pad="12"
 right="-10"
-  width="215">
+  width="180">
        Forgot your name or password?
 </text>
 <text
@@ -203,7 +195,7 @@ height="16"
 name="login_help"
 top_pad="2"
 right="-10"
-    width="220">
+    width="180">
        Need help logging in?   </text>
 <!--  <text
     follows="right|bottom"
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index 659da31007e3b57544d281c76f04547f1fd1fa04..18ac10fe389ef2f91ae46f89605914d8d7056ee0 100755
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -397,15 +397,6 @@ class WindowsManifest(ViewerManifest):
 
         self.disable_manifest_check()
 
-        # Diamondware Runtimes
-        if self.prefix(src="diamondware-runtime/i686-win32", dst=""):
-            self.path("SLVoice_dwTVC.exe")
-            self.path("libcurl.dll")
-            self.path("libeay32.dll")
-            self.path("ssleay32.dll")
-            self.path("zlib1.dll")
-            self.end_prefix()
-
         # pull in the crash logger and updater from other projects
         # tag:"crash-logger" here as a cue to the exporter
         self.path(src='../win_crash_logger/%s/windows-crash-logger.exe' % self.args['configuration'],
@@ -615,9 +606,6 @@ class DarwinManifest(ViewerManifest):
                 self.path("vivox-runtime/universal-darwin/libvivoxsdk.dylib", "libvivoxsdk.dylib")
                 self.path("vivox-runtime/universal-darwin/libvivoxplatform.dylib", "libvivoxplatform.dylib")
                 self.path("vivox-runtime/universal-darwin/SLVoice", "SLVoice")
-                # DiamondWare runtime                                           
-                self.path("diamondware-runtime/universal-darwin/SLVoice_dwTVC","SLVoice_dwTVC")
-                self.path("diamondware-runtime/universal-darwin/libfmodex.dylib", "libfmodex.dylib")
 
                 libdir = "../../libraries/universal-darwin/lib_release"
                 dylibs = {}
@@ -913,11 +901,6 @@ class Linux_i686Manifest(LinuxManifest):
                     pass
             self.end_prefix("lib")
 
-            # Diamondware runtimes
-            if self.prefix(src="diamondware-runtime/i686-linux", dst="bin"):
-                    self.path("SLVoice_dwTVC")
-                    self.end_prefix()
-
             # Vivox runtimes
             if self.prefix(src="vivox-runtime/i686-linux", dst="bin"):
                     self.path("SLVoice")