diff --git a/indra/newview/llpathfindingmanager.cpp b/indra/newview/llpathfindingmanager.cpp
index 674a96a439f73383a8a40f94089bf03b14c7e798..209176fc0b68a80abb6bece3b7885bc58b5d51da 100644
--- a/indra/newview/llpathfindingmanager.cpp
+++ b/indra/newview/llpathfindingmanager.cpp
@@ -54,6 +54,7 @@
 #include "llweb.h"
 #include "llpanelnavmeshrebake.h"
 #include "llenvmanager.h"
+#include "llstartup.h"
 
 #define CAP_SERVICE_RETRIEVE_NAVMESH      "RetrieveNavMeshSrc"
 
@@ -835,7 +836,8 @@ void LLAgentStateChangeNode::post(ResponsePtr pResponse, const LLSD &pContext, c
 
 void LLPathfindingManager::handleAgentStateUpdate()
 {
-	displayNavMeshRebakePanel();
+	//Don't trigger if we are still loading in
+	if ( LLStartUp::getStartupState() == STATE_STARTED) { displayNavMeshRebakePanel(); }
 }
 
 //---------------------------------------------------------------------------
diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp
index fd6f6e14d3735eff59cba442ffdd91bc459edaea..3b8be3cc4f20133f3a33bec451268796613c8b12 100644
--- a/indra/newview/llstartup.cpp
+++ b/indra/newview/llstartup.cpp
@@ -1969,9 +1969,6 @@ bool idle_startup()
 			}
 		}
 
-		llassert(LLPathfindingManager::getInstance() != NULL);
-		LLPathfindingManager::getInstance()->initSystem();
-
 		display_startup();
         //DEV-17797.  get null folder.  Any items found here moved to Lost and Found
         LLInventoryModelBackgroundFetch::instance().findLostItems();
@@ -2169,6 +2166,8 @@ bool idle_startup()
 		LLIMFloater::initIMFloater();
 		display_startup();
 
+		llassert(LLPathfindingManager::getInstance() != NULL);
+		LLPathfindingManager::getInstance()->initSystem();
 		LLPathfindingManager::getInstance()->requestGetAgentState();
 
 		return TRUE;