diff --git a/indra/newview/app_settings/settings_alchemy.xml b/indra/newview/app_settings/settings_alchemy.xml
index 1fff56b532c051d5d3e4b654efc5e60d23dbdab9..9c7d05a8cd3f15e3a145556605c6eed262b27d12 100644
--- a/indra/newview/app_settings/settings_alchemy.xml
+++ b/indra/newview/app_settings/settings_alchemy.xml
@@ -277,6 +277,17 @@
       <key>Value</key>
       <string>/tp2cam</string>
     </map>
+    <key>AlchemyChatMarkUnnamedObjects</key>
+    <map>
+      <key>Comment</key>
+      <string>Marks unnamed objects in chat and IMs.</string>
+      <key>Persist</key>
+      <integer>1</integer>
+      <key>Type</key>
+      <string>Boolean</string>
+      <key>Value</key>
+      <integer>1</integer>
+    </map>
     <key>AlchemyChatMUPose</key>
     <map>
       <key>Comment</key>
diff --git a/indra/newview/llimprocessing.cpp b/indra/newview/llimprocessing.cpp
index 5d86997d968e6a39bfcbe83d4a80d343b94ce898..f6093437bbf7625d2110e877dc2da836273e941b 100644
--- a/indra/newview/llimprocessing.cpp
+++ b/indra/newview/llimprocessing.cpp
@@ -492,7 +492,8 @@ void LLIMProcessing::processNewMessage(LLUUID from_id,
 
     // make sure that we don't have an empty or all-whitespace name
     LLStringUtil::trim(name);
-    if (name.empty())
+    static const LLCachedControl<bool> sMarkUnnamedObjects(gSavedSettings, "AlchemyChatMarkUnnamedObjects");
+    if (name.empty() && sMarkUnnamedObjects)
     {
         name = LLTrans::getString("Unnamed");
     }
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index 4ecddd9abc784cebf274ba2553dba8bb3d9e098f..8fe20e98cb4e46505d44eac3a78838fd5ec9d364 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -2411,7 +2411,8 @@ void process_chat_from_simulator(LLMessageSystem* msg, void** user_data)
 	{
 		// make sure that we don't have an empty or all-whitespace name
 		LLStringUtil::trim(from_name);
-		if (from_name.empty())
+		static const LLCachedControl<bool> sMarkUnnamedObjects(gSavedSettings, "AlchemyChatMarkUnnamedObjects");
+		if (from_name.empty() && sMarkUnnamedObjects)
 		{
 			from_name = LLTrans::getString("Unnamed");
 		}
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_interface.xml b/indra/newview/skins/default/xui/en/panel_preferences_interface.xml
index 451955346a8675317bb180ba50006b39b33b24f8..3e51f28ad03065a5c022a26fd1d4511e4fa92ee0 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_interface.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_interface.xml
@@ -277,6 +277,15 @@
          value="3"
          width="90" />
     </radio_group>
+    <check_box
+      follows="left|top"
+      height="16"
+      label="Mark unnamed objects in chat and IMs"
+      left="7"
+      top_pad="15"
+      name="AlchemyChatMarkUnnamedObjects"
+      control_name="AlchemyChatMarkUnnamedObjects"
+      width="150" />
    </panel>
   </tab_container>
 </panel>