diff --git a/indra/newview/llmaterialmgr.cpp b/indra/newview/llmaterialmgr.cpp
index 671444cd689bdc506112db998eae4ad18a1ec1f9..6599ddc2bb8b173d065036acf42e714c8c5e7505 100644
--- a/indra/newview/llmaterialmgr.cpp
+++ b/indra/newview/llmaterialmgr.cpp
@@ -394,11 +394,13 @@ const LLMaterialPtr LLMaterialMgr::setMaterial(const LLUUID& region_id, const LL
 		itMaterial = ret.first;
 	}
 
-	setMaterialCallbacks(material_id, itMaterial->second);
+    LLMaterialPtr material_ptr = itMaterial->second;
+    
+	setMaterialCallbacks(material_id, material_ptr);
 
 	mGetPending.erase(pending_material_t(region_id, material_id));
 
-	return itMaterial->second;
+	return material_ptr;
 }
 
 void LLMaterialMgr::setMaterialCallbacks(const LLMaterialID& material_id, const LLMaterialPtr material_ptr)