diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp
index 401d74c4efd5ed98b8392e617ce240d19f857d2f..b0ff3a56261ff11b46f35277a540f15ca1cf410b 100644
--- a/indra/newview/llagentwearables.cpp
+++ b/indra/newview/llagentwearables.cpp
@@ -1130,8 +1130,9 @@ void LLAgentWearables::addLocalTextureObject(const EWearableType wearable_type,
 	if (!wearable)
 	{
 		llerrs << "Tried to add local texture object to invalid wearable with type " << wearable_type << " and index " << wearable_index << llendl;
+		return;
 	}
-	LLLocalTextureObject* lto = new LLLocalTextureObject();
+	LLLocalTextureObject lto;
 	wearable->setLocalTextureObject(texture_type, lto);
 }
 
diff --git a/indra/newview/llwearable.cpp b/indra/newview/llwearable.cpp
index b789bd3650af03ed6b00e0f57ee3426cbdcb15af..8cfb8b110359f919459dbafa478967fa0c6382e5 100644
--- a/indra/newview/llwearable.cpp
+++ b/indra/newview/llwearable.cpp
@@ -818,7 +818,7 @@ const LLLocalTextureObject* LLWearable::getConstLocalTextureObject(S32 index) co
 	return NULL;
 }
 
-void LLWearable::setLocalTextureObject(S32 index, LLLocalTextureObject *lto)
+void LLWearable::setLocalTextureObject(S32 index, LLLocalTextureObject &lto)
 {
 	if( mTEMap.find(index) != mTEMap.end() )
 	{
@@ -826,7 +826,7 @@ void LLWearable::setLocalTextureObject(S32 index, LLLocalTextureObject *lto)
 	}
 	if( lto )
 	{
-		mTEMap[index] = new LLLocalTextureObject(*lto);
+		mTEMap[index] = new LLLocalTextureObject(lto);
 	}
 }
 
diff --git a/indra/newview/llwearable.h b/indra/newview/llwearable.h
index 7a579b248e6a5b05acb4e08042ff1f287e794045..dae983bcf33787b1f59dd10c660c57edae02c0a5 100644
--- a/indra/newview/llwearable.h
+++ b/indra/newview/llwearable.h
@@ -114,7 +114,7 @@ class LLWearable
 	LLLocalTextureObject* getLocalTextureObject(S32 index);
 	const LLLocalTextureObject* getConstLocalTextureObject(S32 index) const;
 
-	void				setLocalTextureObject(S32 index, LLLocalTextureObject *lto);
+	void				setLocalTextureObject(S32 index, LLLocalTextureObject &lto);
 	void				addVisualParam(LLVisualParam *param);
 	void				setVisualParams();
 	void 				setVisualParamWeight(S32 index, F32 value, BOOL upload_bake);