diff --git a/indra/newview/llfloaterimsessiontab.cpp b/indra/newview/llfloaterimsessiontab.cpp
index 3a1cc2880a74bdd157220a1061917bc8ffbce34d..26a97ea422ba64b3978251c42dabdaa984a2012d 100644
--- a/indra/newview/llfloaterimsessiontab.cpp
+++ b/indra/newview/llfloaterimsessiontab.cpp
@@ -313,7 +313,13 @@ void LLFloaterIMSessionTab::onFocusReceived()
 	if (container)
 	{
 		container->selectConversationPair(mSessionID, true);
+		// XXX stinson 11/15/2012 : calling show stub from this focus handler results in a circular
+		// logic loop of function calls that eventually result in a stack overflow.
+		// See CHUI-524 for documentation
+#define	XXX_STINSON_HACK_CHUI_524 1
+#if !XXX_STINSON_HACK_CHUI_524
 		container->showStub(! getHost());
+#endif
 	}
 }