diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index 92dc352cf44d35605c3d33c2e93d72226ababd62..b8715bfa5b986fc09df445399e2ea78ca6ad4b93 100644
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -4982,24 +4982,24 @@ void LLViewerWindow::setUIVisibility(bool visible)
 {
 	mUIVisible = visible;
 
-	if (gToolBarView)
-	{
-		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();
+		gAgentCamera.changeCameraToThirdPerson(FALSE);
 		gFloaterView->hideAllFloaters();
 	}
 	else
 	{
 		gFloaterView->showHiddenFloaters();
 	}
+
+	if (gToolBarView)
+	{
+		gToolBarView->setToolBarsVisible(visible);
+	}
+
+	mRootView->getChildView("topinfo_bar_container")->setVisible(visible);
+	mRootView->getChildView("nav_bar_container")->setVisible(visible);
+	mRootView->getChildView("status_bar_container")->setVisible(visible);
 }
 
 bool LLViewerWindow::getUIVisibility()