diff --git a/lib/OpenLayers/Map.js b/lib/OpenLayers/Map.js index 0a8f7bde0a..15b3bb03dd 100644 --- a/lib/OpenLayers/Map.js +++ b/lib/OpenLayers/Map.js @@ -577,14 +577,20 @@ OpenLayers.Map = OpenLayers.Class({ } if (this.controls == null) { + this.controls = []; if (OpenLayers.Control != null) { // running full or lite? - this.controls = [ new OpenLayers.Control.Navigation(), - new OpenLayers.Control.PanZoom(), - new OpenLayers.Control.ArgParser(), - new OpenLayers.Control.Attribution() - ]; - } else { - this.controls = []; + if (OpenLayers.Control.Navigation) { + this.controls.push(new OpenLayers.Control.Navigation()) + } + if (OpenLayers.Control.PanZoom) { + this.controls.push(new OpenLayers.Control.PanZoom()) + } + if (OpenLayers.Control.ArgParser) { + this.controls.push(new OpenLayers.Control.ArgParser()) + } + if (OpenLayers.Control.Attribution) { + this.controls.push(new OpenLayers.Control.Attribution()) + } } }