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
@@ -63,7 +63,7 @@
%if len(c.changeset.parents)>1:
%for change,filenode,diff,cs1,cs2,stat in c.changes:
-
${h.link_to(h.safe_unicode(filenode.path),
- h.url.current(anchor=h.repo_name_slug('C%s' % h.safe_unicode(filenode.path))))}
+
${h.link_to(h.safe_unicode(filenode.path),h.url.current(anchor='C-%s-%s' % (h.short_id(filenode.changeset.raw_id),h.safeid(h.safe_unicode(filenode.path)))))}
${h.fancy_file_stats(stat)}
%endfor
@@ -109,7 +108,7 @@
%if change !='removed':
-