diff --git a/circle.yml b/circle.yml
index 1aadb5c..713e024 100644
--- a/circle.yml
+++ b/circle.yml
@@ -207,20 +207,13 @@
     # Generate image diffs.
     - |-
       cd $CIRCLE_ARTIFACTS/imgs/
-      for file in $(ls PINNED*); do
-        prev=PREV_$file
-        metric_diff=$(compare -metric AE -compose src $prev $file raw_diff.png)
-        composite -alpha on raw_diff.png $prev DIFF_$file
+      for file in $(ls *.png | grep -v '^PREV_'); do
+        # if evergreen browser, browser version of previous screenshot may not match,
+        # so replace previous browser version with glob
+        prev=PREV_"$(sh -c "ls $(echo $file | sed 's/[^_]*_(evergreen)/*/')")"
+        metric_diff=$(compare -metric AE -compose src $prev $file RAW_DIFF_$file)
+        echo "Metric diff for $file: $metric_diff"
+        composite -alpha on RAW_DIFF_$file $prev DIFF_$file
       done
-
-    - |-
-      cd $CIRCLE_ARTIFACTS/imgs/
-      for file in $(ls EVERGREEN*); do
-        prev=$(ls PREV_$file*)
-        metric_diff=$(compare -metric AE -compose src $prev $file raw_diff.png)
-        composite -alpha on raw_diff.png $prev DIFF_$file
-      done
-
-    - rm $CIRCLE_ARTIFACTS/imgs/raw_diff.png
   post:
     - killall --wait sc; true  # wait for Sauce Connect to close the tunnel; ignore errors since it's just cleanup
diff --git a/script/screenshots.js b/script/screenshots.js
index bf2525c..08d743f 100644
--- a/script/screenshots.js
+++ b/script/screenshots.js
@@ -102,12 +102,12 @@
 
       // the easy case: Firefox and IE return a screenshot of the entire webpage
       if (cfg.browserName === 'Firefox' || cfg.browserName === 'Internet Explorer') {
-        return browserDriver.saveScreenshot(baseDir + '/imgs/' + filename + '.png')
+        return browserDriver.saveScreenshot(baseDir + '/imgs/' + fileName + '.png')
         .then(willLog(sessionName, 'saveScreenshot'))
       // the hard case: for Chrome, Safari, and Edge, scroll through the page and
       // take screenshots of each piece; circle.yml will stitch them together
       } else {
-        var piecesDir = baseDir + '/imgs/pieces/' + filename + '/';
+        var piecesDir = baseDir + '/imgs/pieces/' + fileName + '/';
         fs.mkdirSync(piecesDir);
 
         var scrollTop = 0;
