diff --git a/indra/newview/llenvironment.cpp b/indra/newview/llenvironment.cpp
index 580d0e785a3f6cd63302799865c6045f84e6a100..3a030bb09d87632e8f2a96e1601edd74b7c8ab94 100644
--- a/indra/newview/llenvironment.cpp
+++ b/indra/newview/llenvironment.cpp
@@ -1731,6 +1731,13 @@ void LLEnvironment::clearExperienceEnvironment(LLUUID experience_id, F32 transit
         updateEnvironment(LLSettingsBase::Seconds(transition_time));
 }
 
+void LLEnvironment::setSharedEnvironment()
+{
+    clearEnvironment(LLEnvironment::ENV_LOCAL);
+    setSelectedEnvironment(LLEnvironment::ENV_LOCAL);
+    updateEnvironment();
+}
+
 void LLEnvironment::setExperienceEnvironment(LLUUID experience_id, LLUUID asset_id, F32 transition_time)
 {
     LLSettingsVOBase::getSettingsAsset(asset_id,
diff --git a/indra/newview/llenvironment.h b/indra/newview/llenvironment.h
index 55881f1c7501835152b935f7d94b6a52366d5fea..7e35fdcfac092750b94bdf6a8b7121142f89022d 100644
--- a/indra/newview/llenvironment.h
+++ b/indra/newview/llenvironment.h
@@ -144,6 +144,8 @@ class LLEnvironment : public LLSingleton<LLEnvironment>
     void                        setEnvironment(EnvSelection_t env, const LLUUID &assetId, LLSettingsDay::Seconds daylength, LLSettingsDay::Seconds dayoffset);
     void                        setEnvironment(EnvSelection_t env, const LLUUID &assetId);
 
+    void                        setSharedEnvironment();
+
     void                        clearEnvironment(EnvSelection_t env);
     LLSettingsDay::ptr_t        getEnvironmentDay(EnvSelection_t env);
     LLSettingsDay::Seconds      getEnvironmentDayLength(EnvSelection_t env);
diff --git a/indra/newview/llfloatermyenvironment.cpp b/indra/newview/llfloatermyenvironment.cpp
index c34ca9e458bb43b72b937d780af1acda7cac6d67..f93d7ce8ed3791f7cd41288e87abb53da56f1301 100644
--- a/indra/newview/llfloatermyenvironment.cpp
+++ b/indra/newview/llfloatermyenvironment.cpp
@@ -325,6 +325,7 @@ void LLFloaterMyEnvironment::onDoApply(const std::string &context)
         if (context == PARAMETER_REGION)
         {
             LLEnvironment::instance().updateRegion(asset_id, name, -1, -1);
+            LLEnvironment::instance().setSharedEnvironment();
         }
         else if (context == PARAMETER_PARCEL)
         {
@@ -335,6 +336,7 @@ void LLFloaterMyEnvironment::onDoApply(const std::string &context)
                 return;
             }
             LLEnvironment::instance().updateParcel(parcel->getLocalID(), asset_id, name, -1, -1);
+            LLEnvironment::instance().setSharedEnvironment();
         }
         else if (context == PARAMETER_LOCAL)
         {
diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp
index 6a5c1241084bc8ed5c9a7afd8560fd29c7be0a95..f2d418fc9db9fc0d94ee3094f1f32593885c2b66 100644
--- a/indra/newview/llinventorybridge.cpp
+++ b/indra/newview/llinventorybridge.cpp
@@ -6945,6 +6945,7 @@ void LLSettingsBridge::performAction(LLInventoryModel* model, std::string action
 
         LL_WARNS("LAPRAS") << "Applying asset ID " << asset_id << " to parcel " << parcel_id << LL_ENDL;
         LLEnvironment::instance().updateParcel(parcel_id, asset_id, name, -1, -1);
+        LLEnvironment::instance().setSharedEnvironment();
     }
     else
         LLItemBridge::performAction(model, action);
diff --git a/indra/newview/skins/default/xui/en/menu_inventory.xml b/indra/newview/skins/default/xui/en/menu_inventory.xml
index 9b24e2ffcfc4bb9db185996f2418885644e2040c..33ecb4477a7e907527e4097c48b580b1f345f1dd 100644
--- a/indra/newview/skins/default/xui/en/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/en/menu_inventory.xml
@@ -879,7 +879,6 @@
         <menu_item_call.on_click 
                 function="Inventory.DoToSelected"
                 parameter="apply_settings_parcel" />
-    </menu_item_call>
     </menu_item_call>
 	<menu_item_separator
 	 layout="topleft"