diff --git a/indra/newview/llmoveview.cpp b/indra/newview/llmoveview.cpp
index 70035bcc74eff63f30436bbd7473a1d4786142b4..c3dd08c327fb55a7489c1688f54f55f1a0e5ec3e 100644
--- a/indra/newview/llmoveview.cpp
+++ b/indra/newview/llmoveview.cpp
@@ -252,7 +252,7 @@ void LLFloaterMove::setSittingMode(BOOL bSitting)
 			LLPanelStandStopFlying::setStandStopFlyingMode(LLPanelStandStopFlying::SSFM_STOP_FLYING);
 		}
 	}
-	enableInstance(!bSitting);
+	enableInstance();
 }
 
 // protected 
@@ -459,7 +459,7 @@ void LLFloaterMove::showModeButtons(BOOL bShow)
 }
 
 //static
-void LLFloaterMove::enableInstance(BOOL bEnable)
+void LLFloaterMove::enableInstance()
 {
 	LLFloaterMove* instance = LLFloaterReg::findTypedInstance<LLFloaterMove>("moveview");
 	if (instance)
@@ -470,7 +470,7 @@ void LLFloaterMove::enableInstance(BOOL bEnable)
 		}
 		else
 		{
-			instance->showModeButtons(bEnable);
+            instance->showModeButtons(isAgentAvatarValid() && !gAgentAvatarp->isSitting());
 		}
 	}
 }
@@ -566,7 +566,7 @@ BOOL LLPanelStandStopFlying::postBuild()
 {
 	mStandButton = getChild<LLButton>("stand_btn");
 	mStandButton->setCommitCallback(boost::bind(&LLPanelStandStopFlying::onStandButtonClick, this));
-	mStandButton->setCommitCallback(boost::bind(&LLFloaterMove::enableInstance, TRUE));
+	mStandButton->setCommitCallback(boost::bind(&LLFloaterMove::enableInstance));
 	mStandButton->setVisible(FALSE);
 	LLHints::registerHintTarget("stand_btn", mStandButton->getHandle());
 	
@@ -685,8 +685,7 @@ void LLPanelStandStopFlying::onStandButtonClick()
 	LLSelectMgr::getInstance()->deselectAllForStandingUp();
 	gAgent.setControlFlags(AGENT_CONTROL_STAND_UP);
 
-	setFocus(FALSE); // EXT-482
-	mStandButton->setVisible(FALSE); // force visibility changing to avoid seeing Stand & Move buttons at once.
+	setFocus(FALSE); 
 }
 
 void LLPanelStandStopFlying::onStopFlyingButtonClick()
@@ -694,7 +693,6 @@ void LLPanelStandStopFlying::onStopFlyingButtonClick()
 	gAgent.setFlying(FALSE);
 
 	setFocus(FALSE); // EXT-482
-	mStopFlyingButton->setVisible(FALSE);
 }
 
 /**
diff --git a/indra/newview/llmoveview.h b/indra/newview/llmoveview.h
index c525d9dfdb6580d1c5bb1ea62c89fe01a3840cb1..4a31f2a8148d018affc43f6918e7e52933781086 100644
--- a/indra/newview/llmoveview.h
+++ b/indra/newview/llmoveview.h
@@ -56,7 +56,7 @@ class LLFloaterMove
 	static void setAlwaysRunMode(bool run);
 	void setAlwaysRunModeImpl(bool run);
 	static void setSittingMode(BOOL bSitting);
-	static void enableInstance(BOOL bEnable);
+	static void enableInstance();
 	/*virtual*/ void onOpen(const LLSD& key);
 
 	static void sUpdateFlyingStatus();