diff --git a/kallithea/controllers/compare.py b/kallithea/controllers/compare.py
--- a/kallithea/controllers/compare.py
+++ b/kallithea/controllers/compare.py
@@ -215,13 +215,12 @@ class CompareController(BaseRepoControll
c.compare_home = False
c.a_repo = org_repo
+ c.a_ref_name = org_ref_name
+ c.a_ref_type = org_ref_type
c.cs_repo = other_repo
- c.a_ref_name = org_ref_name
c.cs_ref_name = other_ref_name
- c.a_ref_type = org_ref_type
c.cs_ref_type = other_ref_type
- c.cs_repo = other_repo
c.cs_ranges, c.cs_ranges_org, c.ancestor = self._get_changesets(
org_repo.scm_instance.alias, org_repo.scm_instance, c.a_rev,
other_repo.scm_instance, c.cs_rev)
diff --git a/kallithea/templates/changeset/diff_block.html b/kallithea/templates/changeset/diff_block.html
--- a/kallithea/templates/changeset/diff_block.html
+++ b/kallithea/templates/changeset/diff_block.html
@@ -80,9 +80,9 @@
${_('Added')}
${h.short_id(c.cs_ref_name) if c.cs_ref_type=='rev' else c.cs_ref_name}
%elif op == 'M':
- ${h.short_id(c.cs_ref_name) if c.cs_ref_type=='rev' else c.cs_ref_name}
+ ${h.short_id(c.a_ref_name) if c.a_ref_type=='rev' else c.a_ref_name}
- ${h.short_id(c.a_ref_name) if c.a_ref_type=='rev' else c.a_ref_name}
+ ${h.short_id(c.cs_ref_name) if c.cs_ref_type=='rev' else c.cs_ref_name}
%elif op == 'D':
${_('Deleted')}
${h.short_id(c.a_ref_name) if c.a_ref_type=='rev' else c.a_ref_name}
diff --git a/kallithea/templates/compare/compare_cs.html b/kallithea/templates/compare/compare_cs.html
--- a/kallithea/templates/compare/compare_cs.html
+++ b/kallithea/templates/compare/compare_cs.html
@@ -83,7 +83,7 @@
${_('is')}
${_('%s changesets') % (len(c.cs_ranges_org))}
${_('behind')}
- ${h.link_to_ref(c.a_repo.repo_name, c.a_ref_type, c.a_ref_name, c.a_rev)}
+ ${h.link_to_ref(c.a_repo.repo_name, c.a_ref_type, c.a_ref_name)}
%endif
%endif