diff --git a/src/main/resources/eu/simstadt/regionchooser/website/script/simstadt_openlayers.js b/src/main/resources/eu/simstadt/regionchooser/website/script/simstadt_openlayers.js
index 37fd6ee91fefa3afc5797cd7d1527aad53cc0ddd..9090de8c32914e6f2e097be8758d9a75678f50aa 100644
--- a/src/main/resources/eu/simstadt/regionchooser/website/script/simstadt_openlayers.js
+++ b/src/main/resources/eu/simstadt/regionchooser/website/script/simstadt_openlayers.js
@@ -166,6 +166,7 @@ const regionChooser = (function(){
 */		let checkbox = li.appendChild(document.createElement('input'));
 		checkbox.type = 'checkbox'
 		checkbox.id = "citygml_" + feature.getId();
+		checkbox.className = "select_citygml";
 		let label = li.appendChild(document.createElement('label'));
 		label.setAttribute('for', "citygml_" + feature.getId());
 		label.textContent = feature.name;
@@ -202,12 +203,11 @@ const regionChooser = (function(){
 		kml_source.getFeatures().forEach(f => refreshStyle(f, "original"));
 		
 		//TODO: Dry
-		var checkedBoxes = Array.from(document.querySelectorAll("input.select_citygml")).filter(c => c.checked);
-		var checkbox_ids = checkedBoxes.map(c => c.id);
-		var features = getCheckedPolygons(checkbox_ids);
-		features.forEach(f => refreshStyle(f, "selected"));
+		var selectedFeatures = Array.from(document.querySelectorAll("input.select_citygml")).filter(c => c.checked).map(c => c.feature);
+		console.log(selectedFeatures);
+		selectedFeatures.forEach(f => refreshStyle(f, "selected"));
 		
-		document.getElementById("download_region_button").disabled = (checkedBoxes.length == 0);
+		document.getElementById("download_region_button").disabled = (selectedFeatures.length == 0);
 	}
 	
 	function findIntersection(feature, polygon) {