diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp
index 03782510f2ff50f2040f177245914db56b2c4cc5..5c21be8c32670140bc551d6ad4dc432512857b5b 100644
--- a/indra/newview/llappearancemgr.cpp
+++ b/indra/newview/llappearancemgr.cpp
@@ -575,12 +575,16 @@ class RecoveredItemCB: public LLInventoryCallback
 		mWearable->setItemID(item_id);
 		LLPointer<LLInventoryCallback> cb = new RecoveredItemLinkCB(mType,mWearable,mHolder);
 		mHolder->mTypesToRecover.erase(mType);
-		link_inventory_item( gAgent.getID(),
-							 item_id,
-							 LLAppearanceManager::instance().getCOF(),
-							 itemp->getName(),
-							 LLAssetType::AT_LINK,
-							 cb);
+		llassert(itemp);
+		if (itemp)
+		{
+			link_inventory_item( gAgent.getID(),
+					     item_id,
+					     LLAppearanceManager::instance().getCOF(),
+					     itemp->getName(),
+					     LLAssetType::AT_LINK,
+					     cb);
+		}
 	}
 private:
 	LLWearableHoldingPattern* mHolder;