diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp
index 1132ee4ea8179a981d0af73b165b748269393786..9d23d439faa44438e238a6e6b1f871d039ee104c 100755
--- a/indra/newview/llagent.cpp
+++ b/indra/newview/llagent.cpp
@@ -400,12 +400,7 @@ void LLAgent::ageChat()
 //-----------------------------------------------------------------------------
 void LLAgent::moveAt(S32 direction, bool reset)
 {
-	LLFloaterPathfindingConsole* pWindow = LLFloaterPathfindingConsole::getInstanceHandle().get();
-	if ( pWindow && pWindow->getHeartBeat() )
-	{
-		return;
-	}
-
+	
 	mMoveTimer.reset();
 	LLFirstUse::notMoving(false);
 
@@ -434,11 +429,6 @@ void LLAgent::moveAt(S32 direction, bool reset)
 //-----------------------------------------------------------------------------
 void LLAgent::moveAtNudge(S32 direction)
 {
-	LLFloaterPathfindingConsole* pWindow = LLFloaterPathfindingConsole::getInstanceHandle().get();
-	if ( pWindow && pWindow->getHeartBeat() )
-	{
-		return;
-	}
 	mMoveTimer.reset();
 	LLFirstUse::notMoving(false);
 
@@ -660,11 +650,6 @@ void LLAgent::setFlying(BOOL fly)
 // static
 void LLAgent::toggleFlying()
 {
-	LLFloaterPathfindingConsole* pWindow = LLFloaterPathfindingConsole::getInstanceHandle().get();
-	if ( pWindow && pWindow->getHeartBeat() )
-	{
-		return;
-	}
 
 	if ( gAgent.mAutoPilot )
 	{
@@ -2724,12 +2709,7 @@ void LLAgent::sendAnimationRequest(const LLUUID &anim_id, EAnimRequest request)
 
 void LLAgent::sendWalkRun(bool running)
 {
-	LLFloaterPathfindingConsole* pWindow =  LLFloaterPathfindingConsole::getInstanceHandle().get();
-	if ( pWindow->getHeartBeat() )
-	{
-		return;
-	}
-
+	
 	LLMessageSystem* msgsys = gMessageSystem;
 	if (msgsys)
 	{
diff --git a/indra/newview/llfloaterpathfindingconsole.cpp b/indra/newview/llfloaterpathfindingconsole.cpp
index 493b4617b5c9e35afe76043011264c79cc1e3243..c336a30bc928656a94b95d597cd4564e3fc315ba 100644
--- a/indra/newview/llfloaterpathfindingconsole.cpp
+++ b/indra/newview/llfloaterpathfindingconsole.cpp
@@ -873,3 +873,12 @@ U32 LLFloaterPathfindingConsole::getRenderShapeFlags()
 	}
 	return mShapeRenderFlags;
 }
+
+void LLFloaterPathfindingConsole::regionCrossingOccured()
+{	
+	std::string statusText("");	
+	LLStyle::Params styleParams;	
+	styleParams.color = LLUIColorTable::instance().getColor("DrYellow");
+	statusText = getString("navmesh_update_needed");
+	mPathfindingStatus->setText((LLStringExplicit)statusText, styleParams);
+}
\ No newline at end of file
diff --git a/indra/newview/llfloaterpathfindingconsole.h b/indra/newview/llfloaterpathfindingconsole.h
index 8c29bf59095f25727b9ee5c57a3118559a2e1015..0f9f859924d836ab8010bfe659eeeebe4e37b14b 100644
--- a/indra/newview/llfloaterpathfindingconsole.h
+++ b/indra/newview/llfloaterpathfindingconsole.h
@@ -111,6 +111,8 @@ class LLFloaterPathfindingConsole
 
 	bool getHeartBeat() const { return mHeartBeat;}
 	void setHeartBeat( bool state ) { mHeartBeat=state; }
+	void regionCrossingOccured();
+
 
 protected:
 
diff --git a/indra/newview/llworld.cpp b/indra/newview/llworld.cpp
index 676287c0addbfe4f62f96a69549d8bafcdab6808..9fd77546eb1e913d5193a9151be0d7a358091398 100644
--- a/indra/newview/llworld.cpp
+++ b/indra/newview/llworld.cpp
@@ -55,6 +55,7 @@
 #include "message.h"
 #include "pipeline.h"
 #include "llappviewer.h"		// for do_disconnect()
+#include "llfloaterpathfindingconsole.h"
 
 #include <deque>
 #include <queue>
@@ -1091,6 +1092,14 @@ void process_region_handshake(LLMessageSystem* msg, void** user_data)
 	}
 
 	regionp->unpackRegionHandshake();
+	 
+	LLFloaterPathfindingConsole* pWindow = LLFloaterPathfindingConsole::getInstanceHandle().get();
+	if ( pWindow && pWindow->getHeartBeat() )
+	{
+		pWindow->regionCrossingOccured();
+		return;
+	}
+
 }
 
 
diff --git a/indra/newview/skins/default/xui/en/floater_pathfinding_console.xml b/indra/newview/skins/default/xui/en/floater_pathfinding_console.xml
index 75465f1aeaf9217ab85e38ed26edaa149990a98a..dd31a71e0f20f7488afcb5a30fed863797974fca 100644
--- a/indra/newview/skins/default/xui/en/floater_pathfinding_console.xml
+++ b/indra/newview/skins/default/xui/en/floater_pathfinding_console.xml
@@ -22,6 +22,7 @@
   <floater.string name="pathing_choose_start_point">Please choose start point.</floater.string>
   <floater.string name="pathing_choose_end_point">Please choose end point.</floater.string>
   <floater.string name="pathing_path_valid">Path is shown in blue.</floater.string>
+  <floater.string name="navmesh_update_needed">Region boundary hit, navmesh may not be accurate. Update.</floater.string>
   <text
       height="13"
       word_wrap="true"