diff --git a/doc/contributions.txt b/doc/contributions.txt
index dfbccb5a6c9147218f9650bf8257610f08e7cba6..daaffe2dee29668fff45de00afd806e32446c3be 100644
--- a/doc/contributions.txt
+++ b/doc/contributions.txt
@@ -76,6 +76,7 @@ Aleric Inglewood
 	VWR-13996
 	VWR-14426
 	VWR-24247
+	VWR-25654
 	VWR-24251
 	VWR-24252
 	VWR-24254
@@ -209,6 +210,7 @@ Boroondas Gupte
 	STORM-1182
 	VWR-233
 	VWR-20583
+	VWR-25654
 	VWR-20891
 	VWR-23455
 	VWR-24487
diff --git a/indra/newview/lltranslate.cpp b/indra/newview/lltranslate.cpp
index 2de7db38ed1cdd653f429312ceab877aa2875b54..2f60b6b90b4aa9c18fb91fbcf299fa7927337393 100644
--- a/indra/newview/lltranslate.cpp
+++ b/indra/newview/lltranslate.cpp
@@ -28,6 +28,8 @@
 
 #include "lltranslate.h"
 
+#include <curl/curl.h>
+
 #include "llbufferstream.h"
 #include "llui.h"
 #include "llversioninfo.h"
@@ -76,7 +78,9 @@ void LLTranslate::translateMessage(LLHTTPClient::ResponderPtr &result, const std
 //static
 void LLTranslate::getTranslateUrl(std::string &translate_url, const std::string &from_lang, const std::string &to_lang, const std::string &mesg)
 {
-	std::string escaped_mesg = curl_escape(mesg.c_str(), mesg.size());
+	char * curl_str = curl_escape(mesg.c_str(), mesg.size());
+	std::string const escaped_mesg(curl_str);
+	curl_free(curl_str);
 
 	translate_url = m_GoogleURL
 		+ escaped_mesg + m_GoogleLangSpec