diff --git a/mercurial/templates/static/mercurial.js b/mercurial/templates/static/mercurial.js
index a6833e464b070c2f51edff8d6e55be79f5d9db22_bWVyY3VyaWFsL3RlbXBsYXRlcy9zdGF0aWMvbWVyY3VyaWFsLmpz..1779ff7426c9ef1605e6e1fdb9994a4c836fc459_bWVyY3VyaWFsL3RlbXBsYXRlcy9zdGF0aWMvbWVyY3VyaWFsLmpz 100644
--- a/mercurial/templates/static/mercurial.js
+++ b/mercurial/templates/static/mercurial.js
@@ -383,5 +383,8 @@
                 },
                 function onsuccess(htmlText) {
                     if (mode == 'graph') {
-                        var addHeight = htmlText.match(/^\s*<canvas id="graph".*height="(\d+)"><\/canvas>$/m)[1];
+                        var sizes = htmlText.match(/^\s*<canvas id="graph" width="(\d+)" height="(\d+)"><\/canvas>$/m);
+                        var addWidth = sizes[1];
+                        var addHeight = sizes[2];
+                        addWidth = parseInt(addWidth);
                         addHeight = parseInt(addHeight);
@@ -387,4 +390,5 @@
                         addHeight = parseInt(addHeight);
+                        graph.canvas.width = addWidth;
                         graph.canvas.height = addHeight;
 
                         var dataStr = htmlText.match(/^\s*var data = (.*);$/m)[1];