diff --git a/indra/newview/llpanelgroupgeneral.cpp b/indra/newview/llpanelgroupgeneral.cpp
index ddd41a179196db9af431e3576b187934ec16368c..555248e31ab1f75481d245522bb25567ae0eea7d 100644
--- a/indra/newview/llpanelgroupgeneral.cpp
+++ b/indra/newview/llpanelgroupgeneral.cpp
@@ -212,7 +212,6 @@ void LLPanelGroupGeneral::setupCtrls(LLPanel* panel_group)
 	if (mInsignia)
 	{
 		mInsignia->setCommitCallback(onCommitAny, this);
-		mDefaultIconID = mInsignia->getImageAssetID();
 	}
 	mFounderName = getChild<LLNameBox>("founder_name");
 
@@ -656,7 +655,7 @@ void LLPanelGroupGeneral::update(LLGroupChange gc)
 		}
 		else
 		{
-			mInsignia->setImageAssetID(mDefaultIconID);
+			mInsignia->setImageAssetName(mInsignia->getDefaultImageName());
 		}
 	}
 
@@ -846,16 +845,7 @@ void LLPanelGroupGeneral::reset()
 	
 	mInsignia->setEnabled(true);
 
-	LLPointer<LLUIImage> imagep = LLUI::getUIImage(mInsignia->getDefaultImageName());
-	if(imagep)
-	{
-		LLViewerFetchedTexture* pTexture = dynamic_cast<LLViewerFetchedTexture*>(imagep->getImage().get());
-		if(pTexture)
-		{
-			LLUUID id = pTexture->getID();
-			mInsignia->setImageAssetID(id);
-		}
-	}
+	mInsignia->setImageAssetName(mInsignia->getDefaultImageName());
 
 	{
 		std::string empty_str = "";
diff --git a/indra/newview/llpanelgroupgeneral.h b/indra/newview/llpanelgroupgeneral.h
index 624501887121019f141600c8f33a414f12aca8e7..6f4fa994da8f87ac3ec42aed708e33b199afc51d 100644
--- a/indra/newview/llpanelgroupgeneral.h
+++ b/indra/newview/llpanelgroupgeneral.h
@@ -95,7 +95,6 @@ class LLPanelGroupGeneral : public LLPanelGroupTab
 	BOOL			mChanged;
 	BOOL			mFirstUse;
 	std::string		mIncompleteMemberDataStr;
-	LLUUID			mDefaultIconID;
 
 	// Group information (include any updates in updateChanged)
 	LLLineEditor		*mGroupNameEditor;
diff --git a/indra/newview/lltexturectrl.cpp b/indra/newview/lltexturectrl.cpp
index a1b3c8dabd5e52c50a1093e87564206e08c5d611..6165d309c3b74974072e8e56bfffe544c336496d 100644
--- a/indra/newview/lltexturectrl.cpp
+++ b/indra/newview/lltexturectrl.cpp
@@ -1137,6 +1137,20 @@ void LLTextureCtrl::onFloaterCommit(ETexturePickOp op)
 	}
 }
 
+void	LLTextureCtrl::setImageAssetName(const std::string& name)
+{
+	LLPointer<LLUIImage> imagep = LLUI::getUIImage(name);
+	if(imagep)
+	{
+		LLViewerFetchedTexture* pTexture = dynamic_cast<LLViewerFetchedTexture*>(imagep->getImage().get());
+		if(pTexture)
+		{
+			LLUUID id = pTexture->getID();
+			setImageAssetID(id);
+		}
+	}
+}
+
 void LLTextureCtrl::setImageAssetID( const LLUUID& asset_id )
 {
 	if( mImageAssetID != asset_id )
diff --git a/indra/newview/lltexturectrl.h b/indra/newview/lltexturectrl.h
index 837f837430155f6a772b3135b279ddd57ec133f0..bcd0a083f2be6f12d096bd6f30da2a8bcd60b124 100644
--- a/indra/newview/lltexturectrl.h
+++ b/indra/newview/lltexturectrl.h
@@ -128,7 +128,7 @@ class LLTextureCtrl
 	virtual void	clear();
 
 	// Takes a UUID, wraps get/setImageAssetID
-	virtual void	setValue(const LLSD& value );
+	virtual void	setValue(const LLSD& value);
 	virtual LLSD	getValue() const;
 
 	// LLTextureCtrl interface
@@ -142,6 +142,8 @@ class LLTextureCtrl
 
 	const LLUUID&	getImageItemID() { return mImageItemID; }
 
+	virtual void	setImageAssetName(const std::string& name);
+	
 	void			setImageAssetID(const LLUUID &image_asset_id);
 	const LLUUID&	getImageAssetID() const						{ return mImageAssetID; }