diff --git a/indra/newview/llchatitemscontainerctrl.cpp b/indra/newview/llchatitemscontainerctrl.cpp
index 5b6a99e793c10d80736a54229514c72de82a6004..35a244c4616a9a70e32b17d6157198494d6eea46 100644
--- a/indra/newview/llchatitemscontainerctrl.cpp
+++ b/indra/newview/llchatitemscontainerctrl.cpp
@@ -326,12 +326,14 @@ void LLNearbyChatToastPanel::draw()
 		if(icon)
 		{
 			icon->setDrawTooltip(mSourceType == CHAT_SOURCE_AGENT);
-			if(mSourceType == CHAT_SOURCE_AGENT)
-				icon->setValue(mFromID);
+			if(mSourceType == CHAT_SOURCE_OBJECT)
+				icon->setValue(LLSD("OBJECT_Icon"));
 			else if(mSourceType == CHAT_SOURCE_SYSTEM)
 				icon->setValue(LLSD("SL_Logo"));
-			else
-				icon->setValue(LLSD("OBJECT_Icon"));
+			else if(mSourceType == CHAT_SOURCE_AGENT)
+				icon->setValue(mFromID);
+			else if(!mFromID.isNull())
+				icon->setValue(mFromID);
 		}
 		mIsDirty = false;
 	}