diff --git a/lib/OpenLayers/Map.js b/lib/OpenLayers/Map.js index c2bb9f0e28..d1e5e9a124 100644 --- a/lib/OpenLayers/Map.js +++ b/lib/OpenLayers/Map.js @@ -243,7 +243,7 @@ OpenLayers.Map.prototype = { this.unloadDestroy = null; if (this.layers != null) { - for(var i=0; i< this.layers.length; i++) { + for (var i = this.layers.length - 1; i>=0; --i) { //pass 'false' to destroy so that map wont try to set a new // baselayer after each baselayer is removed this.layers[i].destroy(false); @@ -251,7 +251,7 @@ OpenLayers.Map.prototype = { this.layers = null; } if (this.controls != null) { - for(var i=0; i< this.controls.length; i++) { + for (var i = this.controls.length - 1; i>=0; --i) { this.controls[i].destroy(); } this.controls = null;