diff --git a/src/Control.Loading.js b/src/Control.Loading.js
index <HASH>..<HASH> 100644
--- a/src/Control.Loading.js
+++ b/src/Control.Loading.js
@@ -185,14 +185,16 @@
                 // reflected in the above layer events.
                 map.on({
                     dataloading: this._handleLoading,
-                    dataload: this._handleLoad
+                    dataload: this._handleLoad,
+                    layerremove: this._handleLoad
                 }, this);
             },
 
             _removeMapListeners: function(map) {
                 map.off({
                     dataloading: this._handleLoading,
-                    dataload: this._handleLoad
+                    dataload: this._handleLoad,
+                    layerremove: this._handleLoad
                 }, this);
             }
         });
Listen to layerremove

In some cases, the layer can be removed before it is fully loaded