diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp
index 17499d84d60298664f19b7fb30ce4610d990eb2d..6b3eda82e7bd78f5be94f64ff5539351c37ecc92 100644
--- a/indra/newview/llstartup.cpp
+++ b/indra/newview/llstartup.cpp
@@ -3087,8 +3087,11 @@ void LLStartUp::initNameCache()
 void LLStartUp::initExperiences()
 {   
     // Should trigger loading the cache.
-	const std::string& gridlabel = !LLGridManager::getInstance()->isInSecondlife() ? LLGridManager::getInstance()->getGridId() : LLStringUtil::null;
-	LLExperienceCache::initParamSingleton(gridlabel);
+	if (!LLExperienceCache::instanceExists())
+	{
+		const std::string& gridlabel = !LLGridManager::getInstance()->isInSecondlife() ? LLGridManager::getInstance()->getGridId() : LLStringUtil::null;
+		LLExperienceCache::initParamSingleton(gridlabel);
+	}
     LLExperienceCache::instance().setCapabilityQuery(
         boost::bind(&LLAgent::getRegionCapability, &gAgent, _1));
 
diff --git a/indra/newview/llviewernetwork.cpp b/indra/newview/llviewernetwork.cpp
index d341b66d734be26ef9fcd970e194afc424c556b6..fe10a127e305d7ad94ef575f7766fa57f05de5b2 100644
--- a/indra/newview/llviewernetwork.cpp
+++ b/indra/newview/llviewernetwork.cpp
@@ -143,7 +143,6 @@ void LLGridManager::initialize(const std::string& grid_file)
 
 	// set to undefined
 	mGridList = LLSD();
-	mGridFile = grid_file;
 	// as we don't want an attacker to override our grid list
 	// to point the default grid to an invalid grid
   	addSystemGrid("Second Life",
diff --git a/indra/newview/llviewernetwork.h b/indra/newview/llviewernetwork.h
index 5b979b56d7de040caeed567aca9e91fa3f6253e8..6fcad3ec745fce42dba63b2a1518d41755592cdf 100644
--- a/indra/newview/llviewernetwork.h
+++ b/indra/newview/llviewernetwork.h
@@ -312,7 +312,6 @@ class LLGridManager final : public LLSingleton<LLGridManager>
 
 	bool mLoggedIn;
 	std::string mGrid;
-	std::string mGridFile;
 	LLSD mGridList;
 	EGridPlatform mPlatform;
 	
diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp
index d8461e409686fb9c42572ea1a3e6cebdd823d2e9..ec06ab069a1452784b18b640dfba1ae0d54c4a15 100755
--- a/indra/newview/llviewerregion.cpp
+++ b/indra/newview/llviewerregion.cpp
@@ -2439,11 +2439,11 @@ void LLViewerRegion::setSimulatorFeatures(const LLSD& sim_features)
 {
 	LL_INFOS() << "region " << getName() << " "  << ll_pretty_print_sd(sim_features) << LL_ENDL;
 	mSimulatorFeatures = sim_features;
+#if !LL_HAVOK
 	if (LLGridManager::getInstance()->isInOpenSim())
 	{
 		setGodnames();
         std::string cur_symbol = LLCurrencyWrapper::instance().getHomeCurrency();
-#if !LL_HAVOK
 		if (mSimulatorFeatures.has("OpenSimExtras"))
 		{
 			const LLSD& extras(mSimulatorFeatures["OpenSimExtras"]);
@@ -2497,7 +2497,6 @@ void LLViewerRegion::setSimulatorFeatures(const LLSD& sim_features)
 			mMaxPhysPrimScale = extras.has("MaxPhysPrimScale") ? extras["MaxPhysPrimScale"].asReal() : OS_DEFAULT_MAX_PRIM_SCALE;
 		}
 		else
-#endif
 		{
 			mWhisperRange = 10;
 			mSayRange = 20;
@@ -2517,6 +2516,7 @@ void LLViewerRegion::setSimulatorFeatures(const LLSD& sim_features)
         }
 	}
 	else
+#endif
 	{
 		mMinSimHeight = SL_MIN_OBJECT_Z;
 		mMaxSimHeight = SL_MAX_OBJECT_Z;