diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index 13d9b761ab303dbe35de17f6bad54198098e9868..880892239e382708d6e1e2a495806387190e88dc 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -834,10 +834,11 @@ bool check_offer_throttle(const std::string& from_name, bool check_only)
 				message << ", automatic preview disabled for "
 					<< OFFER_THROTTLE_TIME << " seconds.";
 				
-				//this is kinda important, so actually put it on screen
-				LLSD args;
-				args["MESSAGE"] = message;
-				LLNotificationsUtil::add("SystemMessage", args);
+				//this is kinda important, so actually put it on screen
+				std::string log_msg = message.str();
+				LLSD args;
+				args["MESSAGE"] = log_msg;
+				LLNotificationsUtil::add("SystemMessage", args);
 
 				throttle_logged=true;
 			}
@@ -1179,9 +1180,9 @@ bool LLOfferInfo::inventory_offer_callback(const LLSD& notification, const LLSD&
 		if (check_offer_throttle(mFromName, true))
 		{
 			log_message = chatHistory_string + " " + LLTrans::getString("InvOfferGaveYou") + " " + mDesc + LLTrans::getString(".");
-			LLSD args;
-			args["MESSAGE"] = log_message;
-			LLNotificationsUtil::add("SystemMessage", args);
+			LLSD args;
+			args["MESSAGE"] = log_message;
+			LLNotificationsUtil::add("SystemMessage", args);
 		}
 		break;
 
@@ -1353,11 +1354,11 @@ bool LLOfferInfo::inventory_task_offer_callback(const LLSD& notification, const
 			//don't spam them if they are getting flooded
 			if (check_offer_throttle(mFromName, true))
 			{
-				log_message = chatHistory_string + " " + LLTrans::getString("InvOfferGaveYou") + " " + mDesc + LLTrans::getString(".");
-				//TODO* should go to history only - how?
-				//LLSD args;
-				//args["MESSAGE"] = log_message;
-				//LLNotificationsUtil::add("SystemMessage", args);
+				log_message = chatHistory_string + " " + LLTrans::getString("InvOfferGaveYou") + " " + mDesc + LLTrans::getString(".");
+				//TODO* should go to history only - how?
+				//LLSD args;
+				//args["MESSAGE"] = log_message;
+				//LLNotificationsUtil::add("SystemMessage", args);
 			}
 			
 			// we will want to open this item when it comes back.
@@ -1401,9 +1402,9 @@ bool LLOfferInfo::inventory_task_offer_callback(const LLSD& notification, const
 			
 			//TODO* should go to message history only...
 			//log_message = LLTrans::getString("InvOfferYouDecline") + " " + mDesc + " " + LLTrans::getString("InvOfferFrom") + " " + mFromName +".";
-			//LLSD args;
-			//args["MESSAGE"] = log_message;
-			//LLNotificationsUtil::add("SystemMessage", args);
+			//LLSD args;
+			//args["MESSAGE"] = log_message;
+			//LLNotificationsUtil::add("SystemMessage", args);
 			
 			if (busy &&	(!mFromGroup && !mFromObject))
 			{
@@ -1829,9 +1830,9 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)
 
 				//TODO* should go to message hisyory only
 				//and this is not system message...
-				//LLSD args;
-				//args["MESSAGE"] = buffer;
-				//LLNotificationsUtil::add("SystemMessage", args);
+				//LLSD args;
+				//args["MESSAGE"] = buffer;
+				//LLNotificationsUtil::add("SystemMessage", args);
 
 				/*
 				chat.mText = buffer;
@@ -3026,9 +3027,9 @@ void process_agent_movement_complete(LLMessageSystem* msg, void**)
 			// Chat the "back" SLURL. (DEV-4907)
 
 			//should go to history only so leave commented
-			//LLSD args;
-			//args["MESSAGE"] = message;
-			//LLNotificationsUtil::add("SystemMessage", args);
+			//LLSD args;
+			//args["MESSAGE"] = message;
+			//LLNotificationsUtil::add("SystemMessage", args);
 
 			// Set the new position
 			avatarp->setPositionAgent(agent_pos);