diff --git a/src/root/common.tt b/src/root/common.tt
index b18d33f74..37c908465 100644
--- a/src/root/common.tt
+++ b/src/root/common.tt
@@ -347,13 +347,23 @@ BLOCK renderDiffUri;
url = res.0;
branch = res.1;
IF bi1.type == "hg" || bi1.type == "git" %]
- c.uri_for('/api/scmdiff', {
- uri = url,
- rev1 = bi1.revision,
- rev2 = bi2.revision,
- type = bi1.type,
- branch = branch
- })) %]>[% HTML.escape(contents) %]
+ [% IF url.substr(0, 19) == "https://github.com/" %]
+
+ url
+ _ "/compare/"
+ _ bi1.revision
+ _ "..."
+ _ bi2.revision,
+ ) %]>[% HTML.escape(contents) %]
+ [% ELSE %]
+ c.uri_for('/api/scmdiff', {
+ uri = url,
+ rev1 = bi1.revision,
+ rev2 = bi2.revision,
+ type = bi1.type,
+ branch = branch
+ })) %]>[% HTML.escape(contents) %]
+ [% END %]
[% ELSE;
contents;
END;