diff --git a/indra/newview/rlvcommon.cpp b/indra/newview/rlvcommon.cpp
index 008b9b25f58c2766f853fe588ab81f3f2239a7f8..76039f992b2a0990f9a1ab6c22049c568d9dc5a5 100644
--- a/indra/newview/rlvcommon.cpp
+++ b/indra/newview/rlvcommon.cpp
@@ -109,17 +109,6 @@ void RlvSettings::initClass()
 	}
 }
 
-BOOL RlvSettings::getEnableSharedWear()
-{
-	return FALSE;
-/*
-	// NOTE-RLVa: it's not proper but some code relies on the fact that getEnableSharedWear() returns FALSE if any attach point is locked
-	return 
-		(rlvGetSettingBOOL(RLV_SETTING_ENABLESHAREDWEAR, FALSE)) && // "Enable Shared Wear" is toggled on and...
-		(!gRlvHandler.hasLockedAttachment(RLV_LOCK_ANY));			// no attachment point is non-attachable or non-detachable
-*/
-}
-
 #ifdef RLV_EXTENSION_STARTLOCATION
 	// Checked: 2010-04-01 (RLVa-1.2.0c) | Modified: RLVa-0.2.1d
 	void RlvSettings::updateLoginLastLocation()
diff --git a/indra/newview/rlvcommon.h b/indra/newview/rlvcommon.h
index ee1865320a1508b5981a3327f6fe9c696552ebf6..3c1936608eaa8e3fe140f7948f2c9f23f8ce4f6d 100644
--- a/indra/newview/rlvcommon.h
+++ b/indra/newview/rlvcommon.h
@@ -57,7 +57,7 @@ public:
 	static BOOL getEnableComposites()		{ return fCompositeFolders; }
 	#endif // RLV_EXPERIMENTAL_COMPOSITEFOLDERS
 	static BOOL getEnableLegacyNaming()		{ return fLegacyNaming; }
-	static BOOL getEnableSharedWear();
+	static BOOL getEnableSharedWear()		{ return rlvGetSettingBOOL(RLV_SETTING_ENABLESHAREDWEAR, FALSE); }
 	static BOOL getHideLockedLayers()		{ return rlvGetSettingBOOL(RLV_SETTING_HIDELOCKEDLAYER, FALSE); }		
 	static BOOL getHideLockedAttach()		{ return rlvGetSettingBOOL(RLV_SETTING_HIDELOCKEDATTACH, FALSE); }
 	static BOOL getHideLockedInventory()	{ return rlvGetSettingBOOL(RLV_SETTING_HIDELOCKEDINVENTORY, FALSE); }
diff --git a/indra/newview/rlvhelper.cpp b/indra/newview/rlvhelper.cpp
index b9bff5268380ac73eec658a150d40be1fcd99bcc..0facf608f69db66a51a28bbacb7874fa757b8a18 100644
--- a/indra/newview/rlvhelper.cpp
+++ b/indra/newview/rlvhelper.cpp
@@ -370,7 +370,9 @@ void RlvForceWear::forceFolder(const LLViewerInventoryCategory* pFolder, EWearAc
 			case LLAssetType::AT_OBJECT:
 				if (isWearAction(eAction))
 				{
-					if ( (gRlvAttachmentLocks.canAttach(pRlvItem)) || (RlvSettings::getEnableSharedWear()) )
+					ERlvWearMask eWearMask = gRlvAttachmentLocks.canAttach(pRlvItem);
+					if ( ((ACTION_WEAR_REPLACE == eAction) && (eWearMask & RLV_WEAR_REPLACE)) ||
+						 ((ACTION_WEAR_ADD == eAction) && (eWearMask & RLV_WEAR_ADD)) )
 					{
 						if (!isAddAttachment(pRlvItem))
 						{
diff --git a/indra/newview/rlvinventory.cpp b/indra/newview/rlvinventory.cpp
index b2a29e4c116f9689a41e0e9258d1be03e6a24ca0..4f4c1667a0c225720502e04dd0a1d538d1e5a737 100644
--- a/indra/newview/rlvinventory.cpp
+++ b/indra/newview/rlvinventory.cpp
@@ -609,7 +609,7 @@ bool RlvWearableItemCollector::onCollectFolder(const LLInventoryCategory* pFolde
 bool RlvWearableItemCollector::onCollectItem(const LLInventoryItem* pItem)
 {
 	#ifdef RLV_EXTENSION_FLAG_NOSTRIP
-	if ( (!m_fAttach) && (!RlvForceWear::isStrippable(pItem)) )						// Don't process "nostrip" items on detach
+	if ( (!m_fAttach) && (!RlvForceWear::isStrippable(pItem)) )							// Don't process "nostrip" items on detach
 		return false;
 	#endif // RLV_EXTENSION_FLAG_NOSTRIP
 
diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml
index c05834e8fb2cb7245a38f84829080293146cf249..6da56ba96926c6cf8525fc76384aa8e0b8999df0 100644
--- a/indra/newview/skins/default/xui/en/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/en/menu_viewer.xml
@@ -1456,7 +1456,17 @@
 					 function="ToggleControl"
 					 parameter="RLVaEnableLegacyNaming" />
 				</menu_item_check>
-				<menu_item_check
+        <menu_item_check
+				 label="Enable Shared Wear"
+				 name="Enable Shared Wear">
+          <menu_item_check.on_check
+					 function="CheckControl"
+					 parameter="RLVaEnableSharedWear" />
+          <menu_item_check.on_click
+					 function="ToggleControl"
+					 parameter="RLVaEnableSharedWear" />
+        </menu_item_check>
+        <menu_item_check
 				 label="Rename Shared Items on Wear"
 				 name="Rename Shared Items on Wear">
 					<menu_item_check.on_check