diff --git a/lib/tilelive/batch.js b/lib/tilelive/batch.js
index <HASH>..<HASH> 100644
--- a/lib/tilelive/batch.js
+++ b/lib/tilelive/batch.js
@@ -169,7 +169,7 @@ TileBatch.prototype.renderChunk = function(callback) {
             that.mbtiles.insertTiles(tiles, renders, that.options.compress, this);
         },
         function(err) {
-            if (err) return this(err);
+            if (err || !that.options.interactivity) return this(err);
             if (that.options.interactivity) {
                 var group = this.group();
                 for (var i = 0; i < tiles.length; i++) {
@@ -186,7 +186,7 @@ TileBatch.prototype.renderChunk = function(callback) {
             }
         },
         function(err, renders) {
-            if (err) return this(err);
+            if (err || !that.options.interactivity) return this(err);
             if (that.options.interactivity) {
                 that.mbtiles.insertGrids(tiles,
                     renders,
@@ -195,8 +195,7 @@ TileBatch.prototype.renderChunk = function(callback) {
             }
         },
         function(err) {
-            if (err) return this(err);
-            callback(null, tiles);
+            callback(err, tiles);
         }
     );
 };
Fix Step in renderChunk to ensure completion.