diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp
index 60c313b6ce3a8c5153c083da191ab7074a9e2489..b95596fa70a6f4efeffb6dcde7fefd7befef4d92 100644
--- a/indra/llui/lltextbase.cpp
+++ b/indra/llui/lltextbase.cpp
@@ -1611,9 +1611,6 @@ void LLTextBase::appendTextImpl(const std::string &new_text, const LLStyle::Para
 		while ( LLUrlRegistry::instance().findUrl(text, match,
 		        boost::bind(&LLTextBase::replaceUrlLabel, this, _1, _2)) )
 		{
-			
-			LLTextUtil::processUrlMatch(&match,this);
-
 			start = match.getStart();
 			end = match.getEnd()+1;
 
@@ -1638,6 +1635,10 @@ void LLTextBase::appendTextImpl(const std::string &new_text, const LLStyle::Para
 				std::string subtext=text.substr(0,start);
 				appendAndHighlightText(subtext, part, style_params); 
 			}
+
+			// inserts an avatar icon preceding the Url if appropriate
+			LLTextUtil::processUrlMatch(&match,this);
+
 			// output the styled Url (unless we've been asked to suppress hyperlinking)
 			if (match.isLinkDisabled())
 			{