diff --git a/indra/newview/llchatitemscontainerctrl.cpp b/indra/newview/llchatitemscontainerctrl.cpp
index 997aed4277ce2977832223729e64e3da45a43940..56b7520bd5e3f4bdccb674cbec97610f508087cb 100644
--- a/indra/newview/llchatitemscontainerctrl.cpp
+++ b/indra/newview/llchatitemscontainerctrl.cpp
@@ -188,7 +188,17 @@ void LLNearbyChatToastPanel::init(LLSD& notification)
 		}
 		mText = mText.substr(3);
 		style_params.font.style = "UNDERLINE";
+#define INFINITE_REFLOW_BUG 0
+#if INFINITE_REFLOW_BUG
+		// This causes LLTextBase::reflow() to infinite loop until the viewer
+		// runs out of memory, throws a bad_alloc exception from std::vector
+		// in mLineInfoList, and the main loop catches it and continues.
+		// It appears to be caused by addText() adding a line separator in the
+		// middle of a line.  See EXT-2579, EXT-1949
 		msg_text->addText(mText,style_params);
+#else
+		msg_text->appendText(mText, FALSE, style_params);
+#endif
 	}
 	else 
 	{