diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp
index 142a3250c896d365d5abf7d52ce2b53a13a7134d..a0c3868dc66a2e8a34cc960eae8038403998bc93 100755
--- a/indra/newview/llappearancemgr.cpp
+++ b/indra/newview/llappearancemgr.cpp
@@ -3821,9 +3821,17 @@ void LLAppearanceMgr::removeItemsFromAvatar(const uuid_vec_t& ids_to_remove)
 		const LLUUID& id_to_remove = *it;
 		const LLUUID& linked_item_id = gInventory.getLinkedItemID(id_to_remove);
 		LLViewerInventoryItem *item = gInventory.getItem(linked_item_id);
-		if (item && item->getType() == LLAssetType::AT_OBJECT)
+		if (item)
 		{
-			LL_DEBUGS("Avatar") << "ATT removing attachment " << item->getName() << " id " << item->getUUID() << LL_ENDL;
+			if (item->getType() == LLAssetType::AT_OBJECT)
+			{
+				LL_DEBUGS("Avatar") << "ATT removing attachment " << item->getName() << " id " << item->getUUID() << LL_ENDL;
+			}
+			if (item->getType() == LLAssetType::AT_GESTURE && LLGestureMgr::instance().isGestureActive(item->getLinkedUUID()))
+			{
+				// deactivate gesture before removing link
+				LLGestureMgr::instance().deactivateGesture(item->getLinkedUUID());
+			}
 		}
 		removeCOFItemLinks(linked_item_id, cb);
 		addDoomedTempAttachment(linked_item_id);