diff --git a/gr-opacity-diff-mode/gr-opacity-diff-mode.html b/gr-opacity-diff-mode/gr-opacity-diff-mode.html
index 71a5eff..0a20ea9 100644
--- a/gr-opacity-diff-mode/gr-opacity-diff-mode.html
+++ b/gr-opacity-diff-mode/gr-opacity-diff-mode.html
@@ -24,7 +24,8 @@
         display: block;
         margin:auto;
         position: absolute;
-        width: 500px;
+        height: var(--img-height);
+        width: var(--img-width);
       }
       #imageRevision {
         opacity: var(--my-opacity-value);
@@ -40,6 +41,15 @@
       <img id="imageBase"/>
       <img id="imageRevision" data-opacity$="{{opacityValue}}"/>
     </div>
+    <div>
+      <label>
+        <input
+            id="scaleSizesToggle"
+            type="checkbox"
+            on-tap="handleScaleSizesToggle">
+        Scale to same size
+      </label>
+    </div>
     <label for="opacitySlider">Opacity</label>
     <input
       type="range"
diff --git a/gr-opacity-diff-mode/gr-opacity-diff-mode.js b/gr-opacity-diff-mode/gr-opacity-diff-mode.js
index b9016ee..7e3591d 100644
--- a/gr-opacity-diff-mode/gr-opacity-diff-mode.js
+++ b/gr-opacity-diff-mode/gr-opacity-diff-mode.js
@@ -41,5 +41,17 @@
     computeSrcString(image) {
       return 'data:' + image['type'] + ';base64, ' + image['body'];
     },
+
+    handleScaleSizesToggle() {
+      let width;
+      let height;
+      if (this.$.scaleSizesToggle.checked) {
+        width = Math.max(this.revisionImage._width, this.baseImage._width);
+        height = Math.max(this.revisionImage._height, this.baseImage._height);
+      }
+      this.customStyle['--img-width'] = width ? width + 'px' : null;
+      this.customStyle['--img-height'] = height ? height + 'px' : null;
+      this.updateStyles();
+    },
   });
 })();
\ No newline at end of file
diff --git a/gr-opacity-diff-mode/gr-opacity-diff-mode_test.html b/gr-opacity-diff-mode/gr-opacity-diff-mode_test.html
index f20db99..6c63c1a 100644
--- a/gr-opacity-diff-mode/gr-opacity-diff-mode_test.html
+++ b/gr-opacity-diff-mode/gr-opacity-diff-mode_test.html
@@ -62,5 +62,61 @@
       assert.equal(element.computeSrcString(element.revisionImage),
           expectedOutcome);
     });
+
+    suite('size scaling', () => {
+      test('base image larger', () => {
+        element.baseImage = {
+          _width: 200,
+          _height: 300,
+        };
+        element.revisionImage = {
+          _width: 100,
+          _height: 90,
+        };
+        assert.equal(element.customStyle['--img-width'], undefined);
+        assert.equal(element.customStyle['--img-height'], undefined);
+        element.$.scaleSizesToggle.checked = true;
+        element.handleScaleSizesToggle();
+        flushAsynchronousOperations();
+        assert.equal(element.customStyle['--img-width'], '200px');
+        assert.equal(element.customStyle['--img-height'], '300px');
+      });
+
+      test('revisionImage larger', () => {
+        element.baseImage = {
+          _width: 200,
+          _height: 300,
+        };
+        element.revisionImage = {
+          _width: 400,
+          _height: 500,
+        };
+        assert.equal(element.customStyle['--img-width'], null);
+        assert.equal(element.customStyle['--img-height'], null);
+        element.$.scaleSizesToggle.checked = true;
+        element.handleScaleSizesToggle();
+        flushAsynchronousOperations();
+        assert.equal(element.customStyle['--img-width'], '400px');
+        assert.equal(element.customStyle['--img-height'], '500px');
+      });
+
+      test('bigger base width, smaller base height', () => {
+        element.baseImage = {
+          _width: 200,
+          _height: 300,
+        };
+        element.revisionImage = {
+          _width: 140,
+          _height: 400,
+        };
+        assert.equal(element.customStyle['--img-width'], null);
+        assert.equal(element.customStyle['--img-height'], null);
+        element.$.scaleSizesToggle.checked = true;
+        element.handleScaleSizesToggle();
+        flushAsynchronousOperations();
+        assert.equal(element.customStyle['--img-width'], '200px');
+        assert.equal(element.customStyle['--img-height'], '400px');
+      });
+    });
   });
 </script>
\ No newline at end of file
diff --git a/gr-resemble-diff-mode/gr-resemble-diff-mode_test.html b/gr-resemble-diff-mode/gr-resemble-diff-mode_test.html
index c9ffb5d..9fe5161 100644
--- a/gr-resemble-diff-mode/gr-resemble-diff-mode_test.html
+++ b/gr-resemble-diff-mode/gr-resemble-diff-mode_test.html
@@ -45,7 +45,7 @@
       element = fixture('basicFixture');
     });
 
-    teardown(() => { sandbox.restore(); })
+    teardown(() => { sandbox.restore(); });
 
     test('test initialization', () => {
       assert.notEqual(element, null);
