diff --git a/doc/contributions.txt b/doc/contributions.txt
index 8d77d15fe473d8e35a11364e0db7d4551641ac26..151243e2dc02b326f5be15f77f229e12b73e5773 100644
--- a/doc/contributions.txt
+++ b/doc/contributions.txt
@@ -662,6 +662,8 @@ Tue Torok
 	CT-74
 Vadim Bigbear
 	VWR-2681
+Vector Hastings
+	VWR-8726
 Vixen Heron
 	VWR-2710
 	CT-88
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 9d911777d12f2000448e790b61cdc7a9491b387f..d3fcceb3072dffeb5dd72fa0f7bf3aa0dcf9b7c6 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -2787,6 +2787,17 @@
       <key>Value</key>
       <integer>0</integer>
     </map>
+    <key>EffectScriptChatParticles</key>
+      <map>
+      <key>Comment</key>
+      <string>1 = normal behavior, 0 = disable display of swirling lights when scripts communicate</string>
+      <key>Persist</key>
+      <integer>1</integer>
+      <key>Type</key>
+      <string>Boolean</string>
+      <key>Value</key>
+      <integer>1</integer>
+    </map>
     <key>EnableRippleWater</key>
     <map>
       <key>Comment</key>
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index 82bc084f6820f144c54fe4284062497ae1c99fd3..781e324e25dc27c616538fe600d7376800545c73 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -2964,7 +2964,8 @@ void process_chat_from_simulator(LLMessageSystem *msg, void **user_data)
 
 		// Make swirly things only for talking objects. (not script debug messages, though)
 		if (chat.mSourceType == CHAT_SOURCE_OBJECT 
-			&& chat.mChatType != CHAT_TYPE_DEBUG_MSG)
+			&& chat.mChatType != CHAT_TYPE_DEBUG_MSG
+			&& gSavedSettings.getBOOL("EffectScriptChatParticles") )
 		{
 			LLPointer<LLViewerPartSourceChat> psc = new LLViewerPartSourceChat(chatter->getPositionAgent());
 			psc->setSourceObject(chatter);