diff --git a/rhodecode/templates/changeset/changeset.html b/rhodecode/templates/changeset/changeset.html
--- a/rhodecode/templates/changeset/changeset.html
+++ b/rhodecode/templates/changeset/changeset.html
@@ -89,7 +89,7 @@
${_('Files affected (%s)' % len(c.changeset.affected_files))}
%for change,filenode,diff,cs1,cs2 in c.changes:
-
${h.link_to(filenode.path.decode('utf-8','replace'),h.url.current(anchor=h.repo_name_slug('C%s' % filenode.path.decode('utf-8','replace'))))}
+
${h.link_to(h.safe_unicode(filenode.path),h.url.current(anchor=h.repo_name_slug('C%s' % h.safe_unicode(filenode.path))))}
%endfor
% if c.cut_off:
${_('Changeset was to big and was cut off...')}
@@ -103,19 +103,19 @@
%if change !='removed':
-