Index: trunk/trac.wordpress.org/templates/site-ticket.html
===================================================================
--- trunk/trac.wordpress.org/templates/site-ticket.html	(revision 2175)
+++ trunk/trac.wordpress.org/templates/site-ticket.html	(working copy)
@@ -34,16 +34,16 @@
 
 <!--! Gravatars for the ticket reporter -->
 <td py:match="td[@headers='h_reporter']" py:attrs="select('@*')">
-  <a href="${profile_link + ticket.reporter}">
-    <img class="avatar" src="//wordpress.org/grav-redirect.php?user=${ticket.reporter}&amp;s=48" srcset="//wordpress.org/grav-redirect.php?user=${ticket.reporter}&amp;s=96 2x" height="48" width="48" />
+  <a href="${profile_link + urldecode(ticket.reporter)}">
+    <img class="avatar" src="//wordpress.org/grav-redirect.php?user=${urldecode(ticket.reporter)}&amp;s=48" srcset="//wordpress.org/grav-redirect.php?user=${urldecode(ticket.reporter)}&amp;s=96 2x" height="48" width="48" />
   </a>
     ${select('*|comment()|text()')}
 </td>
 
 <!--! Gravatars for the ticket owner -->
 <td py:match="td[@headers='h_owner']" py:attrs="select('@*')">
-  <a href="${profile_link + ticket.owner}" py:if="ticket.owner">
-    <img class="avatar" src="//wordpress.org/grav-redirect.php?user=${ticket.owner}&amp;s=48" srcset="//wordpress.org/grav-redirect.php?user=${ticket.owner}&amp;s=96 2x" height="48" width="48" />
+  <a href="${profile_link + urldecode(ticket.owner)}" py:if="ticket.owner">
+    <img class="avatar" src="//wordpress.org/grav-redirect.php?user=${urldecode(ticket.owner)}&amp;s=48" srcset="//wordpress.org/grav-redirect.php?user=${urldecode(ticket.owner)}&amp;s=96 2x" height="48" width="48" />
   </a>
     ${select('*|comment()|text()')}
 </td>
Index: trunk/trac.wordpress.org/templates/site.html
===================================================================
--- trunk/trac.wordpress.org/templates/site.html	(revision 2188)
+++ trunk/trac.wordpress.org/templates/site.html	(working copy)
@@ -30,6 +30,10 @@
 				link['href'] = urllib.unquote(new_link[1])
 	except (IndexError, KeyError):
 		pass
+
+	import urllib
+	def urldecode(str):
+		return urllib.quote_plus(str);
 ?>
 
 <!--! These are changes for tickets that are also loaded from
Index: trunk/trac.wordpress.org/templates/ticket_change.html
===================================================================
--- trunk/trac.wordpress.org/templates/ticket_change.html	(revision 2175)
+++ trunk/trac.wordpress.org/templates/ticket_change.html	(working copy)
@@ -36,7 +36,7 @@
   <h3 class="change chat-bot">
     <span class="avatar" py:if="change">
       <span class="username-line">
-        <img src="//wordpress.org/grav-redirect.php?user=${authorinfo(change.author)}&amp;s=48" srcset="//wordpress.org/grav-redirect.php?user=${authorinfo(change.author)}&amp;s=96 2x" height="48" width="48" />
+        <img src="//wordpress.org/grav-redirect.php?user=${urldecode(urldecode(authorinfo(change.author)))}&amp;s=48" srcset="//wordpress.org/grav-redirect.php?user=${urldecode(urldecode(authorinfo(change.author)))}&amp;s=96 2x" height="48" width="48" />
         ${wiki_to_html(context, change.comment, escape_newlines=preserve_newlines)}
       </span>
       <br /><span class="time-ago">${dateinfo(change.date)} ago</span>
@@ -75,8 +75,8 @@
     <py:choose>
       <py:when test="'author' in change">
         <span class="avatar" py:if="change">
-          <span class="username-line"><a href="//profiles.wordpress.org/${authorinfo(change.author)}" class="profile-link">
-            <img src="//wordpress.org/grav-redirect.php?user=${authorinfo(change.author)}&amp;s=48" srcset="//wordpress.org/grav-redirect.php?user=${authorinfo(change.author)}&amp;s=96 2x" height="48" width="48" /> @<span class="username" data-username="${change.author}">${authorinfo(change.author)}</span></a></span>
+          <span class="username-line"><a href="//profiles.wordpress.org/${urldecode(authorinfo(change.author))}" class="profile-link">
+            <img src="//wordpress.org/grav-redirect.php?user=${urldecode(authorinfo(change.author))}&amp;s=48" srcset="//wordpress.org/grav-redirect.php?user=${urldecode(authorinfo(change.author))}&amp;s=96 2x" height="48" width="48" /> @<span class="username" data-username="${change.author}">${authorinfo(change.author)}</span></a></span>
           <py:if test="'date' in change">
             <br /><span class="time-ago">${dateinfo(change.date)} ago</span>
           </py:if>
