diff --git a/indra/newview/app_settings/settings_per_account.xml b/indra/newview/app_settings/settings_per_account.xml
index 636caf5ef321cd69a50cb381609e6745ab26889f..500151c935277b05d2d5d04ddf64f93bf9273945 100755
--- a/indra/newview/app_settings/settings_per_account.xml
+++ b/indra/newview/app_settings/settings_per_account.xml
@@ -77,6 +77,17 @@
         <key>Value</key>
             <integer>412</integer>
     </map>
+    <key>ConversationsParticipantListCollapsed</key>
+    <map>
+        <key>Comment</key>
+            <string>Stores the expanded/collapsed state of Nearby chat participant list</string>
+        <key>Persist</key>
+            <integer>1</integer>
+        <key>Type</key>
+            <string>Boolean</string>
+        <key>Value</key>
+            <integer>true</integer>
+    </map>   
     <key>InstantMessageLogPath</key>
         <map>
         <key>Comment</key>
diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp
index 2b4585cc47cb8cc52ce2607ec7416808e56908ac..3ef0cc63b13239bceadd38f9d26cd64d13b6d0f9 100755
--- a/indra/newview/llfloaterimcontainer.cpp
+++ b/indra/newview/llfloaterimcontainer.cpp
@@ -101,6 +101,7 @@ LLFloaterIMContainer::~LLFloaterIMContainer()
 
 	gSavedPerAccountSettings.setBOOL("ConversationsListPaneCollapsed", mConversationsPane->isCollapsed());
 	gSavedPerAccountSettings.setBOOL("ConversationsMessagePaneCollapsed", mMessagesPane->isCollapsed());
+	gSavedPerAccountSettings.setBOOL("ConversationsParticipantListCollapsed", !isParticipantListExpanded());
 
 	if (!LLSingleton<LLIMMgr>::destroyed())
 	{
@@ -250,6 +251,11 @@ BOOL LLFloaterIMContainer::postBuild()
 	// Init the sort order now that the root had been created
 	setSortOrder(LLConversationSort(gSavedSettings.getU32("ConversationSortOrder")));
 	
+	//We should expand nearby chat participants list for the new user
+	if(gAgent.isFirstLogin() || !gSavedPerAccountSettings.getBOOL("ConversationsParticipantListCollapsed"))
+	{
+		expandConversation();
+	}
 	// Keep the xml set title around for when we have to overwrite it
 	mGeneralTitle = getTitle();
 	
@@ -2082,6 +2088,19 @@ void LLFloaterIMContainer::expandConversation()
 		}
 	}
 }
+bool LLFloaterIMContainer::isParticipantListExpanded()
+{
+	bool is_expanded = false;
+	if(!mConversationsPane->isCollapsed())
+	{
+		LLConversationViewSession* widget = dynamic_cast<LLConversationViewSession*>(get_ptr_in_map(mConversationsWidgets,getSelectedSession()));
+		if (widget)
+		{
+			is_expanded = widget->isOpen();
+		}
+	}
+	return is_expanded;
+}
 
 // By default, if torn off session is currently frontmost, LLFloater::isFrontmost() will return FALSE, which can lead to some bugs
 // So LLFloater::isFrontmost() is overriden here to check both selected session and the IM floater itself
diff --git a/indra/newview/llfloaterimcontainer.h b/indra/newview/llfloaterimcontainer.h
index a118ab51d2e7bc0b59f871797afc3a13875efeaa..5d88b7881a0dda2fd4ba1205d9f93970d94d7e49 100755
--- a/indra/newview/llfloaterimcontainer.h
+++ b/indra/newview/llfloaterimcontainer.h
@@ -172,6 +172,7 @@ class LLFloaterIMContainer
 	void toggleAllowTextChat(const LLUUID& participant_uuid);
 	void toggleMute(const LLUUID& participant_id, U32 flags);
 	void openNearbyChat();
+	bool isParticipantListExpanded();
 
 	LLButton* mExpandCollapseBtn;
 	LLButton* mStubCollapseBtn;