diff --git a/lib/OpenLayers/Control/LayerSwitcher.js b/lib/OpenLayers/Control/LayerSwitcher.js
index 9f643321c7..a649125cab 100644
--- a/lib/OpenLayers/Control/LayerSwitcher.js
+++ b/lib/OpenLayers/Control/LayerSwitcher.js
@@ -93,10 +93,16 @@ OpenLayers.Control.LayerSwitcher.prototype =
this.dataLayersDiv.innerHTML = "";
this.dataLayerInputs = new Array();
+ var containsOverlays = false;
+
for( var i = 0; i < this.map.layers.length; i++) {
var layer = this.map.layers[i];
var baseLayer = layer.isBaseLayer;
+ if (!baseLayer) {
+ containsOverlays = true;
+ }
+
// only check a baselayer if it is *the* baselayer, check data
// layers if they are visible
var checked = (baseLayer) ? (layer == this.map.baseLayer)
@@ -136,6 +142,9 @@ OpenLayers.Control.LayerSwitcher.prototype =
}
+ // if no overlays, dont display the overlay label
+ this.dataLbl.style.display = (containsOverlays) ? "" : "none";
+
return this.div;
},
@@ -292,12 +301,12 @@ OpenLayers.Control.LayerSwitcher.prototype =
this.layersDiv.appendChild(this.baseLayersDiv);
- var dataLbl = document.createElement("div");
- dataLbl.innerHTML = "Overlays";
- dataLbl.style.marginTop = "3px";
- dataLbl.style.marginLeft = "3px";
- dataLbl.style.marginBottom = "3px";
- this.layersDiv.appendChild(dataLbl);
+ this.dataLbl = document.createElement("div");
+ this.dataLbl.innerHTML = "Overlays";
+ this.dataLbl.style.marginTop = "3px";
+ this.dataLbl.style.marginLeft = "3px";
+ this.dataLbl.style.marginBottom = "3px";
+ this.layersDiv.appendChild(this.dataLbl);
this.dataLayersDiv = document.createElement("div");
this.dataLayersDiv.style.paddingLeft = "10px";