diff --git a/src/renderer/Renderer.js b/src/renderer/Renderer.js
index <HASH>..<HASH> 100644
--- a/src/renderer/Renderer.js
+++ b/src/renderer/Renderer.js
@@ -244,6 +244,8 @@ export default class Renderer {
             zoom: gl.drawingBufferHeight / (this._zoom * 1024 * (window.devicePixelRatio || 1)) // Used by zoom expression
         };
 
+        this._runViewportAggregations(renderLayer);
+
         if (!tiles.length) {
             return;
         }
@@ -256,8 +258,6 @@ export default class Renderer {
         gl.depthMask(false);
         gl.bindFramebuffer(gl.FRAMEBUFFER, this.auxFB);
 
-        this._runViewportAggregations(renderLayer);
-
         const styleDataframe = (tile, tileTexture, shader, vizExpr) => {
             const textureId = shader.textureIds.get(viz);
Fix viewport counting corner case with no tiles