diff --git a/doc/contributions.txt b/doc/contributions.txt
index 740c2f470c6a39ee4e3ce4377a2738246d4d87fd..3039d6372b1db7c1076c5061ef8d5ee1b5b9103b 100644
--- a/doc/contributions.txt
+++ b/doc/contributions.txt
@@ -735,6 +735,7 @@ Tue Torok
 	CT-74
 Twisted Laws
 	SNOW-352
+	STORM-467
 Vadim Bigbear
 	VWR-2681
 Vector Hastings
diff --git a/indra/newview/llfloatermap.cpp b/indra/newview/llfloatermap.cpp
index 351b9ac5dad40a4423cfe24556ee7ba6acf5cccb..da32467423b744b4ce17a1e93147485aec273c2b 100644
--- a/indra/newview/llfloatermap.cpp
+++ b/indra/newview/llfloatermap.cpp
@@ -83,7 +83,6 @@ LLFloaterMap::~LLFloaterMap()
 BOOL LLFloaterMap::postBuild()
 {
 	mMap = getChild<LLNetMap>("Net Map");
-	mMap->setScale(gSavedSettings.getF32("MiniMapScale"));
 	mMap->setToolTipMsg(getString("ToolTipMsg"));	
 	sendChildToBack(mMap);
 	
@@ -296,7 +295,6 @@ void LLFloaterMap::handleZoom(const LLSD& userdata)
 		scale = LLNetMap::MAP_SCALE_MIN;
 	if (scale != 0.0f)
 	{
-		gSavedSettings.setF32("MiniMapScale", scale );
 		mMap->setScale(scale);
 	}
 }
diff --git a/indra/newview/llnetmap.cpp b/indra/newview/llnetmap.cpp
index f084002385abd6952fd9398c163e4d24ea2c47ac..1a8ec4991d7dedef4b1f47cf0440dfce89b213e4 100644
--- a/indra/newview/llnetmap.cpp
+++ b/indra/newview/llnetmap.cpp
@@ -94,10 +94,12 @@ LLNetMap::LLNetMap (const Params & p)
 	mToolTipMsg()
 {
 	mDotRadius = llmax(DOT_SCALE * mPixelsPerMeter, MIN_DOT_RADIUS);
+	setScale(gSavedSettings.getF32("MiniMapScale"));
 }
 
 LLNetMap::~LLNetMap()
 {
+	gSavedSettings.setF32("MiniMapScale", mScale);
 }
 
 void LLNetMap::setScale( F32 scale )