diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp
index b0ff3a56261ff11b46f35277a540f15ca1cf410b..3249d0b31f4bc9d47e7250dd2cf4a0f41fbc38a3 100644
--- a/indra/newview/llagentwearables.cpp
+++ b/indra/newview/llagentwearables.cpp
@@ -2300,7 +2300,7 @@ class LLLibraryOutfitsCopyDone: public LLInventoryCallback
 	
 	virtual ~LLLibraryOutfitsCopyDone()
 	{
-		if (mLibraryOutfitsFetcher)
+		if (!!LLApp::isExiting() && mLibraryOutfitsFetcher)
 		{
 			gInventory.addObserver(mLibraryOutfitsFetcher);
 			mLibraryOutfitsFetcher->done();
diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp
index 5088c65122252d17508212aadd9dc64d8634b454..fa1bfdb5ab85ed9617a38c318fe3bd3ae4fdad72 100644
--- a/indra/newview/llappearancemgr.cpp
+++ b/indra/newview/llappearancemgr.cpp
@@ -279,7 +279,10 @@ class LLUpdateAppearanceOnDestroy: public LLInventoryCallback
 
 	virtual ~LLUpdateAppearanceOnDestroy()
 	{
-		LLAppearanceManager::instance().updateAppearanceFromCOF();
+		if (!!LLApp::isExiting())
+		{
+			LLAppearanceManager::instance().updateAppearanceFromCOF();
+		}
 	}
 
 	/* virtual */ void fire(const LLUUID& inv_item)