diff --git a/indra/newview/lltoolpie.cpp b/indra/newview/lltoolpie.cpp
index 23290e5cc69162f691142a778964a277f603a92a..65c9f2b8f6df5880cb7065e4158b92a02f9c5c60 100644
--- a/indra/newview/lltoolpie.cpp
+++ b/indra/newview/lltoolpie.cpp
@@ -623,6 +623,7 @@ BOOL LLToolPie::handleMouseUp(S32 x, S32 y, MASK mask)
 	LLViewerObject* obj = mPick.getObject();
 	U8 click_action = final_click_action(obj);
 
+	// let media have first pass at click
 	if (handleMediaMouseUp() || LLViewerMediaFocus::getInstance()->getFocus())
 	{
 		mAbortClickToWalk = true;
@@ -632,6 +633,7 @@ BOOL LLToolPie::handleMouseUp(S32 x, S32 y, MASK mask)
 
 	if (click_action == CLICK_ACTION_NONE				// not doing 1-click action
 		&& gSavedSettings.getBOOL("ClickToWalk")		// click to walk enabled
+		&& !gAgent.getFlying()							// don't auto-navigate while flying until that works
 		&& !mAbortClickToWalk							// another behavior hasn't cancelled click to walk
 		&& !mPick.mPosGlobal.isExactlyZero()			// valid coordinates for pick
 		&& (mPick.mPickType == LLPickInfo::PICK_LAND	// we clicked on land