diff --git a/indra/newview/llweb.cpp b/indra/newview/llweb.cpp
index 7866f735c56760d584eb8108d8a56f723dc1c650..100ec0bb69a2aaa7191ec126455dab00a128b4d8 100644
--- a/indra/newview/llweb.cpp
+++ b/indra/newview/llweb.cpp
@@ -145,11 +145,20 @@ std::string LLWeb::expandURLSubstitutions(const std::string &url,
 	substitution["VERSION_PATCH"] = LLVersionInfo::getPatch();
 	substitution["VERSION_BUILD"] = LLVersionInfo::getBuild();
 	substitution["CHANNEL"] = LLVersionInfo::getChannel();
-	substitution["LANGUAGE"] = LLUI::getLanguage();
 	substitution["GRID"] = LLViewerLogin::getInstance()->getGridLabel();
 	substitution["OS"] = LLAppViewer::instance()->getOSInfo().getOSStringSimple();
 	substitution["SESSION_ID"] = gAgent.getSessionID();
 
+	// work out the current language
+	std::string lang = LLUI::getLanguage();
+	if (lang == "en-us")
+	{
+		// *HACK: the correct fix is to change English.lproj/language.txt,
+		// but we're late in the release cycle and this is a less risky fix
+		lang = "en";
+	}
+	substitution["LANGUAGE"] = lang;
+
 	// find the region ID
 	LLUUID region_id;
 	LLViewerRegion *region = gAgent.getRegion();
@@ -159,14 +168,14 @@ std::string LLWeb::expandURLSubstitutions(const std::string &url,
 	}
 	substitution["REGION_ID"] = region_id;
 
-	// find the parcel ID
-	LLUUID parcel_id;
+	// find the parcel local ID
+	S32 parcel_id = 0;
 	LLParcel* parcel = LLViewerParcelMgr::getInstance()->getAgentParcel();
 	if (parcel)
 	{
-		parcel_id = parcel->getID();
+		parcel_id = parcel->getLocalID();
 	}
-	substitution["PARCEL_ID"] = parcel_id;
+	substitution["PARCEL_ID"] = llformat("%d", parcel_id);
 
 	// expand all of the substitution strings and escape the url
 	std::string expanded_url = url;