diff --git a/indra/newview/llfloatertopobjects.cpp b/indra/newview/llfloatertopobjects.cpp
index 9b5b3a0fc9c7dec46ee39fa463f90ab66de27cc6..bd49405f34b41bb26e37ef2e54a7303fd0cada14 100644
--- a/indra/newview/llfloatertopobjects.cpp
+++ b/indra/newview/llfloatertopobjects.cpp
@@ -143,6 +143,7 @@ void LLFloaterTopObjects::handleReply(LLMessageSystem *msg, void** data)
 {
     U32 request_flags;
 	U32 total_count;
+	U64 total_memory = 0;
 
 	msg->getU32Fast(_PREHASH_RequestData, _PREHASH_RequestFlags, request_flags);
 	msg->getU32Fast(_PREHASH_RequestData, _PREHASH_TotalObjectCount, total_count);
@@ -190,6 +191,7 @@ void LLFloaterTopObjects::handleReply(LLMessageSystem *msg, void** data)
 			{
 				parcel_buf = parcel_name;
 				script_memory = script_size;
+				total_memory += script_size;
 			}
 		}
 
@@ -263,8 +265,10 @@ void LLFloaterTopObjects::handleReply(LLMessageSystem *msg, void** data)
 	{
 		setTitle(getString("top_scripts_title"));
 		list->setColumnLabel("score", getString("scripts_score_label"));
-		
+
 		LLUIString format = getString("top_scripts_text");
+		total_memory /= 1024;
+		format.setArg("[MEMORY]", llformat("%ld", total_memory));
 		format.setArg("[COUNT]", llformat("%d", total_count));
 		format.setArg("[TIME]", llformat("%0.3f", mtotalScore));
 		getChild<LLUICtrl>("title_text")->setValue(LLSD(format));
diff --git a/indra/newview/skins/default/xui/en/floater_top_objects.xml b/indra/newview/skins/default/xui/en/floater_top_objects.xml
index ceef54129062b434857c36468e0a6aebfdba149c..b82fe43e74dd0270154551011399b6f67236e081 100644
--- a/indra/newview/skins/default/xui/en/floater_top_objects.xml
+++ b/indra/newview/skins/default/xui/en/floater_top_objects.xml
@@ -16,7 +16,7 @@
     </floater.string>
     <floater.string
      name="top_scripts_text">
-        [COUNT] scripts taking a total of [TIME] ms
+        [COUNT] scripts taking a total of [TIME] ms and using [MEMORY] KB
     </floater.string>
     <floater.string
      name="scripts_score_label">