diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp
index 31a73c8c317b43bc86813fb4549df432ac1e3bcb..edb536d337c70f627105e8e6204f55b07a8c19c7 100755
--- a/indra/newview/llagent.cpp
+++ b/indra/newview/llagent.cpp
@@ -68,6 +68,7 @@
 #include "llstatusbar.h"
 #include "llteleportflags.h"
 #include "lltool.h"
+#include "lltoolbarview.h"
 #include "lltoolpie.h"
 #include "lltoolmgr.h"
 #include "lltrans.h"
@@ -1862,6 +1863,7 @@ void LLAgent::endAnimationUpdateUI()
 	// clean up UI from mode we're leaving
 	if (gAgentCamera.getLastCameraMode() == CAMERA_MODE_MOUSELOOK )
 	{
+		gToolBarView->setToolBarsVisible(true);
 		// show mouse cursor
 		gViewerWindow->showCursor();
 		// show menus
@@ -1972,6 +1974,7 @@ void LLAgent::endAnimationUpdateUI()
 	if (gAgentCamera.getCameraMode() == CAMERA_MODE_MOUSELOOK)
 	{
 		// hide menus
+		gToolBarView->setToolBarsVisible(false);
 		gMenuBarView->setVisible(FALSE);
 		LLNavigationBar::getInstance()->setVisible(FALSE);
 		gStatusBar->setVisibleForMouselook(false);
diff --git a/indra/newview/llagentcamera.cpp b/indra/newview/llagentcamera.cpp
index f195c985c08cb825a59040d9f0b737049cf258c6..27e9aa32f247fa61f5b04f1894be78ebb50885df 100644
--- a/indra/newview/llagentcamera.cpp
+++ b/indra/newview/llagentcamera.cpp
@@ -2040,7 +2040,9 @@ void LLAgentCamera::resetCamera()
 //-----------------------------------------------------------------------------
 void LLAgentCamera::changeCameraToMouselook(BOOL animate)
 {
-	if (!gSavedSettings.getBOOL("EnableMouselook") || LLViewerJoystick::getInstance()->getOverrideCamera())
+	if (!gSavedSettings.getBOOL("EnableMouselook") 
+		|| LLViewerJoystick::getInstance()->getOverrideCamera()
+		|| !gViewerWindow->getUIVisibility())
 	{
 		return;
 	}
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index 665b31a427e18d7b26c21571106932a6469cb10d..92dc352cf44d35605c3d33c2e93d72226ababd62 100644
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -4987,11 +4987,13 @@ void LLViewerWindow::setUIVisibility(bool visible)
 		gToolBarView->setToolBarsVisible(visible);
 	}
 
+	mRootView->getChildView("topinfo_bar_container")->setVisible(visible);
 	mRootView->getChildView("nav_bar_container")->setVisible(visible);
 	mRootView->getChildView("status_bar_container")->setVisible(visible);
 
 	if (!visible)
 	{
+		gAgentCamera.changeCameraToDefault();
 		gFloaterView->hideAllFloaters();
 	}
 	else
diff --git a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml
index ab6fa36e6cb6c693159bce210688526c983f4449..7a8e872dc967b0691b248ab8c140688a728a0eb6 100644
--- a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml
+++ b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml
@@ -188,10 +188,12 @@
                  <more_button
                    follows="left|bottom"
                    name=">>"
-                     tab_stop="false"
-                     tool_tip="Show more of My Favorites"
-		     top="15"
-                   width="50">
+                   tab_stop="false"
+                   tool_tip="Show more of My Favorites"
+                   top="13"
+                   width="50"
+                   bottom="0"
+                   valign="bottom">
                    More &#9660;
                    </more_button>
   </favorites_bar>