diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h
index 58c2d342530c817b8829f1aa72c3f19b3f174420..fba59e82e1e102aa279c07443fd4a68b977ebaee 100644
--- a/indra/llui/llfloater.h
+++ b/indra/llui/llfloater.h
@@ -293,7 +293,7 @@ friend class LLMultiFloater;
 protected:
 	virtual void    applySavedVariables();
 
-	void			applyRectControl();
+	virtual void	applyRectControl();
 	void			applyDockState();
 	void			storeRectControl();
 	void			storeVisibilityControl();
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 148b80e817cd5fee348f50e0f49b400bb98b8193..1abea6c88395647f12f8ff64089f6fdb138b4cb9 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -3190,7 +3190,7 @@
       <key>Type</key>
       <string>Boolean</string>
       <key>Value</key>
-      <integer>1</integer>
+      <integer>0</integer>
     </map>
     <key>EnableVoiceChat</key>
     <map>
diff --git a/indra/newview/llnearbychatbar.cpp b/indra/newview/llnearbychatbar.cpp
index 258aa9a8bf660d043aafe9504d48a68712f74a88..dbe30e184722f4a80a939887e849658b02c3d3c6 100644
--- a/indra/newview/llnearbychatbar.cpp
+++ b/indra/newview/llnearbychatbar.cpp
@@ -451,6 +451,16 @@ BOOL LLNearbyChatBar::postBuild()
 	return TRUE;
 }
 
+void LLNearbyChatBar::applyRectControl()
+{
+	LLFloater::applyRectControl();
+	if (getRect().getHeight() > getMinHeight())
+	{
+		getChildView("nearby_chat")->setVisible(true);
+		mExpandedHeight = getRect().getHeight();
+	}
+}
+
 void LLNearbyChatBar::onChatFontChange(LLFontGL* fontp)
 {
 	// Update things with the new font whohoo
@@ -690,14 +700,15 @@ void LLNearbyChatBar::onToggleNearbyChatPanel()
 
 	if (nearby_chat->getVisible())
 	{
+		mExpandedHeight = getRect().getHeight();
 		nearby_chat->setVisible(FALSE);
-		reshape(getRect().getWidth(), 60);
-		mResizeHandle[0]->setMaxHeight(60);
+		reshape(getRect().getWidth(), getMinHeight());
+		mResizeHandle[0]->setMaxHeight(getMinHeight());
 	}
 	else
 	{
 		nearby_chat->setVisible(TRUE);
-		reshape(getRect().getWidth(), 360);
+		reshape(getRect().getWidth(), mExpandedHeight);
 		mResizeHandle[0]->setMaxHeight(S32_MAX);
 	}
 }
diff --git a/indra/newview/llnearbychatbar.h b/indra/newview/llnearbychatbar.h
index 1d28a21ef3c386ec467e0e20058681c8aa0104b6..0415f12a0d05ac2859d34d8b4c90065ca3d77fae 100644
--- a/indra/newview/llnearbychatbar.h
+++ b/indra/newview/llnearbychatbar.h
@@ -127,6 +127,8 @@ class LLNearbyChatBar
 	void onChatBoxCommit();
 	void onChatFontChange(LLFontGL* fontp);
 
+	/* virtual */ void applyRectControl();
+
 	void onToggleNearbyChatPanel();
 
 	static LLWString stripChannelNumber(const LLWString &mesg, S32* channel);
@@ -140,6 +142,8 @@ class LLNearbyChatBar
 	LLLineEditor*		mChatBox;
 	LLOutputMonitorCtrl* mOutputMonitor;
 	LLLocalSpeakerMgr*  mSpeakerMgr;
+
+	S32 mExpandedHeight;
 };
 
 #endif