diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp
index fd7b64af02bf0d54b7023ef2dec5af2ef59ffe72..e822b4843c828636716ecc6b9a2df6ee1b576ae2 100644
--- a/indra/llui/llfloater.cpp
+++ b/indra/llui/llfloater.cpp
@@ -2703,6 +2703,18 @@ bool LLFloater::initFloaterXML(LLXMLNodePtr node, LLView *parent, LLXMLNodePtr o
 			output_node, output_params, &default_params);
 	}
 
+	// Default floater position to top-left corner of screen
+	// However, some legacy floaters have explicit top or bottom
+	// coordinates set, so respect their wishes.
+	if (!params.rect.top.isProvided() && !params.rect.bottom.isProvided())
+	{
+		params.rect.top.set(0);
+	}
+	if (!params.rect.left.isProvided() && !params.rect.right.isProvided())
+	{
+		params.rect.left.set(0);
+	}
+
 	setupParams(params, parent);
  	initFromParams(params);
 	
diff --git a/indra/newview/skins/default/xui/en/floater_media_settings.xml b/indra/newview/skins/default/xui/en/floater_media_settings.xml
index 8122386fae35c3fb7c31072949454e9b43b5a779..681731b0da538e79d8c11f5a47f83175d83ebce4 100644
--- a/indra/newview/skins/default/xui/en/floater_media_settings.xml
+++ b/indra/newview/skins/default/xui/en/floater_media_settings.xml
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <floater
  legacy_header_height="18"
- bottom="666" 
  can_close="true" 
  can_drag_on_left="false" 
  can_minimize="true"
diff --git a/indra/newview/skins/default/xui/en/widgets/floater.xml b/indra/newview/skins/default/xui/en/widgets/floater.xml
index 19fb520b44543ed883f98533026c542977df7fa8..85d0c633af5fb362983869118c12a711f1550fe5 100644
--- a/indra/newview/skins/default/xui/en/widgets/floater.xml
+++ b/indra/newview/skins/default/xui/en/widgets/floater.xml
@@ -9,8 +9,6 @@
  background_visible="true"
  background_opaque="false"
  header_height="25"
-         top="0"
-         left="0" 
  close_image="Icon_Close_Foreground"
  restore_image="Icon_Restore_Foreground"
  minimize_image="Icon_Minimize_Foreground"