diff --git a/indra/cmake/LLPhysicsExtensions.cmake b/indra/cmake/LLPhysicsExtensions.cmake
index 2d26360d79e6176d7d059f0397946c82f04777a2..c5aff4dadfbf1bd3e1854fb02337c368cadcbbb3 100644
--- a/indra/cmake/LLPhysicsExtensions.cmake
+++ b/indra/cmake/LLPhysicsExtensions.cmake
@@ -22,7 +22,7 @@ find_library(LL_PHYSICS_RELWITHDEBINFO_LIB ${LLPHYSICS_EXTENSIONS_LIB_NAME} PATH
 set(LLPHYSICS_LIBRARIES
 
     debug     ${LL_PHYSICS_DEBUG_LIB}
-    optimized ${LL_PHYSICS_RELEASE_LIB}
+    optimized ${LL_PHYSICS_RELWITHDEBINFO_LIB}
 )
 
 if (LINUX)
diff --git a/indra/newview/llpanelpathfindingrebakenavmesh.cpp b/indra/newview/llpanelpathfindingrebakenavmesh.cpp
index 2c8c46c7bce9812cfcd5ac11e1e4d90d88927026..8df041f578109ddac6f54e4cd0759cc4172b95da 100644
--- a/indra/newview/llpanelpathfindingrebakenavmesh.cpp
+++ b/indra/newview/llpanelpathfindingrebakenavmesh.cpp
@@ -159,6 +159,11 @@ void LLPanelPathfindingRebakeNavmesh::setMode(ERebakeNavMeshMode pRebakeNavMeshM
 	mRebakeNavMeshMode = pRebakeNavMeshMode;
 }
 
+LLPanelPathfindingRebakeNavmesh::ERebakeNavMeshMode LLPanelPathfindingRebakeNavmesh::getMode() const
+{
+	return mRebakeNavMeshMode;
+}
+
 void LLPanelPathfindingRebakeNavmesh::onNavMeshRebakeClick()
 {
 	setMode(kRebakeNavMesh_RequestSent);
@@ -172,16 +177,14 @@ void LLPanelPathfindingRebakeNavmesh::handleAgentState(BOOL pCanRebakeRegion)
 
 void LLPanelPathfindingRebakeNavmesh::handleRebakeNavMeshResponse(bool pResponseStatus)
 {
-	setMode(pResponseStatus ? kRebakeNavMesh_InProgress : kRebakeNavMesh_Default);
-	if (!pResponseStatus)
+	if (getMode() == kRebakeNavMesh_RequestSent)
 	{
-		LLNotificationsUtil::add("PathfindingCannotRebakeNavmesh");
+		setMode(pResponseStatus ? kRebakeNavMesh_InProgress : kRebakeNavMesh_Default);
 	}
 
-	LLViewerRegion *currentRegion = gAgent.getRegion();
-	if (currentRegion != NULL)
+	if (!pResponseStatus)
 	{
-		LLPathfindingManager::getInstance()->requestGetNavMeshForRegion(currentRegion, true);
+		LLNotificationsUtil::add("PathfindingCannotRebakeNavmesh");
 	}
 }
 
diff --git a/indra/newview/llpanelpathfindingrebakenavmesh.h b/indra/newview/llpanelpathfindingrebakenavmesh.h
index 5fe581ec2f52ec8a7ce035f72fd5ba34b1cee3ed..48764f2aa7764453e6f3bc35167262eda4fb4ba5 100644
--- a/indra/newview/llpanelpathfindingrebakenavmesh.h
+++ b/indra/newview/llpanelpathfindingrebakenavmesh.h
@@ -66,7 +66,8 @@ class LLPanelPathfindingRebakeNavmesh : public LLPanel
 
 	static LLPanelPathfindingRebakeNavmesh* getPanel();
 
-	void setMode(ERebakeNavMeshMode pRebakeNavMeshMode);
+	void               setMode(ERebakeNavMeshMode pRebakeNavMeshMode);
+	ERebakeNavMeshMode getMode() const;
 	
 	void onNavMeshRebakeClick();