diff --git a/indra/newview/llhudrender.cpp b/indra/newview/llhudrender.cpp
index 5b653638f201fddf1de6dc517bfb19900ec0a235..47fe641680297e296b299283c737e3c95947e54b 100644
--- a/indra/newview/llhudrender.cpp
+++ b/indra/newview/llhudrender.cpp
@@ -78,8 +78,8 @@ void hud_render_text(const LLWString &wstr, const LLVector3 &pos_agent,
 	LLVector3 up_axis;
 	if (orthographic)
 	{
-		right_axis.setVec(0.f, -1.f / gViewerWindow->getWorldViewHeightRaw(), 0.f);
-		up_axis.setVec(0.f, 0.f, 1.f / gViewerWindow->getWorldViewHeightRaw());
+		right_axis.setVec(0.f, -1.f / gViewerWindow->getWorldViewHeightScaled(), 0.f);
+		up_axis.setVec(0.f, 0.f, 1.f / gViewerWindow->getWorldViewHeightScaled());
 	}
 	else
 	{
diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp
index 1f6687bd83216c21de6c5a388fa4f355e3788874..4db05e8a98aa9510416243217cd172b9a93d1e76 100644
--- a/indra/newview/llviewermedia.cpp
+++ b/indra/newview/llviewermedia.cpp
@@ -1934,13 +1934,13 @@ void LLViewerMediaImpl::updateVolume()
 			}
 			else if (mProximityCamera > gSavedSettings.getF32("MediaRollOffMin"))
 			{
-				// attenuated_volume = v / ( 1 + (roll_off_rate * (d - min))^2
+				// attenuated_volume = 1 / (roll_off_rate * (d - min))^2
 				// the +1 is there so that for distance 0 the volume stays the same
 				F64 adjusted_distance = mProximityCamera - gSavedSettings.getF32("MediaRollOffMin");
 				F64 attenuation = gSavedSettings.getF32("MediaRollOffRate") * adjusted_distance;
-				attenuation = attenuation * attenuation;
+				attenuation = 1.0 / (attenuation * attenuation);
 				// the attenuation multiplier should never be more than one since that would increase volume
-				volume = volume * llmin(1.0, 1 /(attenuation + 1));
+				volume = volume * llmin(1.0, attenuation);
 			}
 		}