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 5f75a473fec6c8ae40b2f58525e30c0822a7332f..165a96bf4dce2011f935b42c439feccf6e675951 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
@@ -96,6 +96,7 @@ var regionChooser = (function(){
 			feature["project"] = feature.get("project");
 			feature["name"] = feature.get("name");
 			feature["source"] = "CityGML";
+			feature["originalStyle"] = feature.getStyle();
 		});
 		
 		var features = Array.from(kml_source.getFeatures());
@@ -183,17 +184,23 @@ var regionChooser = (function(){
 	
 	publicScope.highlightPolygon = function(i) {
 		var feature = kml_source.getFeatureById(i);
-		feature.oldStyle = feature.getStyle();
 		feature.setStyle(polygon_style("#ff44a2", 0.7));
 	}
 	
 	publicScope.resetHighlight = function(i) {
 		var feature = kml_source.getFeatureById(i);
-		feature.setStyle(feature.oldStyle);
+		feature.setStyle(feature.originalStyle);
 	}
 	
 	publicScope.isDownloadPossible = function(){
+		kml_source.getFeatures().forEach(f => f.setStyle(f.originalStyle));
+		
+		//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 => f.setStyle(polygon_style("#ffff00", 0.8)));
+		
 		document.getElementById("download_region_button").disabled = (checkedBoxes.length == 0);
 	}
 	
@@ -234,11 +241,15 @@ var regionChooser = (function(){
 		dataPanel.append(text + "<br/>\n");
 	}
 	
-	publicScope.downloadRegionFromCityGMLs = function(checkbox_ids) {
-		var features = checkbox_ids.map(checkbox_id => {
+	getCheckedPolygons = function(checkbox_ids){
+		return checkbox_ids.map(checkbox_id => {
 			var i = Number(checkbox_id.replace("citygml_", ""));
 			return kml_source.getFeatureById(i);
 		})
+	}
+	
+	publicScope.downloadRegionFromCityGMLs = function(checkbox_ids) {
+		var features = getCheckedPolygons(checkbox_ids);
 		
 		var project = features[0].get("project");
 		var srsName = features[0].get("srsName");
@@ -393,6 +404,12 @@ var regionChooser = (function(){
 		document.getElementById("download_region_button").disabled = true;
 		var checkedBoxes = Array.from(document.querySelectorAll("input.select_citygml")).filter(c => c.checked);
 		// CheckBoxes isn't empty, because otherwise the button cannot be clicked.
+		
+		var checkbox_ids = checkedBoxes.map(c => c.id);
+		var features = getCheckedPolygons(checkbox_ids);
+		
+		features.forEach(f => f.setStyle(polygon_style("#ffff00", 0.8)));
+
 		publicScope.downloadRegionFromCityGMLs(checkedBoxes.map(c => c.id));
 	}