diff --git a/indra/newview/lllocationinputctrl.cpp b/indra/newview/lllocationinputctrl.cpp
index db7371d993cc486d708c0968da9a7ef15f5a8b50..0d8526d3f14ee6e4bf5815a4b9ca0f91c61dcfb9 100644
--- a/indra/newview/lllocationinputctrl.cpp
+++ b/indra/newview/lllocationinputctrl.cpp
@@ -827,7 +827,7 @@ void LLLocationInputCtrl::refreshParcelIcons()
 		bool allow_scripts	= vpm->allowAgentScripts(agent_region, current_parcel);
 		bool allow_damage	= vpm->allowAgentDamage(agent_region, current_parcel);
 		bool see_avs        = current_parcel->getSeeAVs();
-		bool pathfinding_dynamic = gAgent.getRegion()->dynamicPathfindingEnabled();
+		bool pathfinding_dynamic_enabled = gAgent.getRegion()->dynamicPathfindingEnabled();
 
 		// Most icons are "block this ability"
 		mParcelIcon[VOICE_ICON]->setVisible(   !allow_voice );
@@ -836,7 +836,7 @@ void LLLocationInputCtrl::refreshParcelIcons()
 		mParcelIcon[BUILD_ICON]->setVisible(   !allow_build );
 		mParcelIcon[SCRIPTS_ICON]->setVisible( !allow_scripts );
 		mParcelIcon[DAMAGE_ICON]->setVisible(  allow_damage );
-		mParcelIcon[PATHFINDING_DYNAMIC_ICON]->setVisible( pathfinding_dynamic );
+		mParcelIcon[PATHFINDING_DYNAMIC_ICON]->setVisible( !pathfinding_dynamic_enabled );
 
 		mDamageText->setVisible(allow_damage);
 		mParcelIcon[SEE_AVATARS_ICON]->setVisible( !see_avs );
diff --git a/indra/newview/llpathfindingmanager.cpp b/indra/newview/llpathfindingmanager.cpp
index 16283282fb2b014917759cb5058ef047368172ca..a77d6bcc4c0771e2f06d79d8426fe78d6e0bc9ea 100644
--- a/indra/newview/llpathfindingmanager.cpp
+++ b/indra/newview/llpathfindingmanager.cpp
@@ -285,10 +285,7 @@ LLPathfindingManager::LLPathfindingManager()
 	mShowNavMeshRebake(false),
 	mCrossingSlot()
 {
-	if ( !mCrossingSlot.connected() )
-	{
-		mCrossingSlot = LLEnvManagerNew::getInstance()->setRegionChangeCallback(boost::bind(&LLPathfindingManager::onRegionBoundaryCrossed, this));
-	}
+	
 }
 
 void LLPathfindingManager::onRegionBoundaryCrossed()
@@ -616,6 +613,11 @@ LLPathfindingNavMeshPtr LLPathfindingManager::getNavMeshForRegion(LLViewerRegion
 
 void LLPathfindingManager::requestGetAgentState()
 {
+	if ( !mCrossingSlot.connected() )
+	{
+		mCrossingSlot = LLEnvManagerNew::getInstance()->setRegionChangeCallback(boost::bind(&LLPathfindingManager::onRegionBoundaryCrossed, this));
+	}
+
 	std::string agentStateURL = getAgentStateURLForCurrentRegion( getCurrentRegion() );
 
 	if ( !agentStateURL.empty() )
diff --git a/indra/newview/llpathfindingmanager.h b/indra/newview/llpathfindingmanager.h
index 309d7513c6e3adc0f19fc95ce74706b3c32278d9..1de9fd65257537a91df04b01587aa8d3fdd24b3c 100644
--- a/indra/newview/llpathfindingmanager.h
+++ b/indra/newview/llpathfindingmanager.h
@@ -98,6 +98,7 @@ class LLPathfindingManager : public LLSingleton<LLPathfindingManager>
 	void handleNavMeshRebakeError( U32 pStatus, const std::string &pReason, const std::string &pURL );
 	void triggerNavMeshRebuild();
 	void onRegionBoundaryCrossed();
+	void requestGetAgentState();
 
 protected:
 
@@ -129,16 +130,13 @@ class LLPathfindingManager : public LLSingleton<LLPathfindingManager>
 	
 	void displayNavMeshRebakePanel();
 	void hideNavMeshRebakePanel();	
-
-
-	void requestGetAgentState();
-	void handleAgentStateResult(const LLSD &pContent );//, EAgentState pRequestedAgentState);
+	void handleAgentStateResult(const LLSD &pContent );
 	void handleAgentStateError(U32 pStatus, const std::string &pReason, const std::string &pURL);
 
 
 	NavMeshMap mNavMeshMap;
 
-
+	//prep#stinson# set this flag instead of directly showing/hiding the rebake panel
 	BOOL mShowNavMeshRebake;
 };
 
diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp
index 6bee373181443a5359405d647dcfbc2e2cb575d4..fd6f6e14d3735eff59cba442ffdd91bc459edaea 100644
--- a/indra/newview/llstartup.cpp
+++ b/indra/newview/llstartup.cpp
@@ -2169,6 +2169,8 @@ bool idle_startup()
 		LLIMFloater::initIMFloater();
 		display_startup();
 
+		LLPathfindingManager::getInstance()->requestGetAgentState();
+
 		return TRUE;
 	}
 
diff --git a/indra/newview/skins/default/textures/icons/Pathfinding_Dynamic.png b/indra/newview/skins/default/textures/icons/Pathfinding_Dynamic.png
index 2c485aef0dd2dc566e4463ee15f8690c8aaa30e4..0622141848d674ff013842bc0554b25679f91c41 100644
Binary files a/indra/newview/skins/default/textures/icons/Pathfinding_Dynamic.png and b/indra/newview/skins/default/textures/icons/Pathfinding_Dynamic.png differ
diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml
index e9151c2db9d5e339e582bc288f9f9fd00dc1b852..ac36736a51191cf241e918bd6cca2f09a2b0a347 100644
--- a/indra/newview/skins/default/xui/en/notifications.xml
+++ b/indra/newview/skins/default/xui/en/notifications.xml
@@ -5786,7 +5786,7 @@ This area has building disabled. You can&apos;t build or rez objects here.
      persist="true"
      type="notify">
     <unique/>
-    Dynamic pathing is enabled.
+    Dynamic pathing is not available.
   </notification>
   
   <notification
diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml
index e6af4cf5a6d4d9336051f07aab78c6c43aa01da0..8771d83aa4270d91939a3e75fed0d22f2db7da3c 100644
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -3325,7 +3325,7 @@ If you continue to receive this message, contact the [SUPPORT_SITE].
   <string name="LocationCtrlModerateIconTooltip">Moderate Region</string>
   <string name="LocationCtrlGeneralIconTooltip">General Region</string>
   <string name="LocationCtrlSeeAVsTooltip">Avatars visible and chat allowed outside of this parcel</string>
-  <string name="PathfindingDynamicTooltip">Dynamic Pathfinding Enabled</string>
+  <string name="PathfindingDynamicTooltip">Dynamic Pathfinding is not available</string>
   <!-- Strings used by the (currently Linux) auto-updater app -->
 	<string name="UpdaterWindowTitle">
 	  [APP_NAME] Update