diff --git a/src/eu/simstadt/regionchooser/website/script/simstadt_openlayers.js b/src/eu/simstadt/regionchooser/website/script/simstadt_openlayers.js
index ad41b7900aea88b76012f370596e26a5d6cd497b..f6710d62a5fc6f78a4a222d94817507634bf6020 100644
--- a/src/eu/simstadt/regionchooser/website/script/simstadt_openlayers.js
+++ b/src/eu/simstadt/regionchooser/website/script/simstadt_openlayers.js
@@ -231,7 +231,7 @@ proj4.defs("EPSG:28992", "+proj=sterea +lat_0=52.15616055555555 +lon_0=5.3876388
 		    features_and_intersections = features.map(f=> [f, findIntersection(f,polygon)]).filter(l => l[1] !== undefined);
 		    if (features_and_intersections.length > 0){
 		    	intersection_found = true;
-				dataPanel.append("<h2>" + project);
+				dataPanel.append("<h2 class='info'>" + project);
 		    	features_and_intersections.forEach(l => showLinkToDownload(l[0], l[1], polygonArea));
 		    }
 		});
@@ -256,13 +256,17 @@ proj4.defs("EPSG:28992", "+proj=sterea +lat_0=52.15616055555555 +lon_0=5.3876388
 			if (proj4.defs(srsName)){
 				$("html").addClass("wait");
 				console.log("Selected region is written in " + srsName + " coordinate system.");
-				fxapp.downloadRegionFromCityGML(sketchAsWKT(srsName), feature.get("project"), feature.get("name"), srsName);
+				try {
+					fxapp.downloadRegionFromCityGML(sketchAsWKT(srsName), feature.get("project"), feature.get("name"), srsName);
+					dataPanel.append("<h2 class='ok'>Done!</h2><br/>\n");
+				} catch (e) {
+					dataPanel.append("<h2 class='error'>Some problem occured!</h2><br/>\n");
+				}
 				var end = new Date().getTime();
 				var time = end - start;
 				console.log('Download Execution time: ' + (time / 1000).toFixed(3) + 's');
 				setTimeout(function() {
 					$("html").removeClass("wait");
-					dataPanel.append("Done<br/>\n");
 				}, 100);
 			} else {
 				var msg = "ERROR : Unknown coordinate system : \"" + srsName + "\". Cannot extract any region";
@@ -290,7 +294,7 @@ proj4.defs("EPSG:28992", "+proj=sterea +lat_0=52.15616055555555 +lon_0=5.3876388
 			dataPanel.append("WGS84 Coordinates<br/>");
 			dataPanel.append(wgs84_coords + "<br/>\n");
 		}
-		dataPanel.append("<h3>Area : " + (area / 10000).toFixed(1) + " ha<br/><br/>\n");
+		dataPanel.append("<h3 class='clean'>Area : " + (area / 10000).toFixed(1) + " ha\n");
 		findIntersections();
 	}
 
@@ -382,7 +386,7 @@ proj4.defs("EPSG:28992", "+proj=sterea +lat_0=52.15616055555555 +lon_0=5.3876388
 	
 	function displayHelp(){
 		dataPanel.empty();
-		dataPanel.append("Welcome to Region Chooser!<br><br>\n");
+		dataPanel.append("<h2 class='info'>Welcome to Region Chooser!<br><br>\n");
 		dataPanel.append("You can draw a polygon on the map by clicking.<br>\n");
 		dataPanel.append("You can add a new point to an existing edge by clicking and dragging.<br>\n");
 		dataPanel.append("You can remove a point with SHIFT + clicking.<br>\n");
diff --git a/test/eu/simstadt/regionchooser/RegionExtractorTests.java b/test/eu/simstadt/regionchooser/RegionExtractorTests.java
index 434b52809d51c741ff0a358040de866ed2d28307..3bab5a7d1e5ccf431d11fc10c72ba06e4c035dd1 100644
--- a/test/eu/simstadt/regionchooser/RegionExtractorTests.java
+++ b/test/eu/simstadt/regionchooser/RegionExtractorTests.java
@@ -124,5 +124,16 @@ public void testExtract0BuildingsFromWeirdGML() throws Throwable {
 		assertTrue(emptyGMLString.contains("<core:CityModel")); // Header
 		assertTrue(emptyGMLString.contains("</core:CityModel")); // Footer
 	}
+
 	//TODO: Add BuildingParts tests with StuttgartAroundCampus.
+	@Test
+	public void testExtractBuildingsFromCitygmlWithBuildingParts() throws Throwable {
+		//NOTE: Small region, with too many spaces between coordinates
+		String wktPolygon = "POLYGON((3512683.1280912133 5404783.732132129,3512719.1608604863 5404714.627650777,3512831.40076119 5404768.344155442,3512790.239106708 5404838.614891164,3512683.1280912133 5404783.732132129))";
+		Path repo = Paths.get("../TestRepository");
+		Path citygmlPath = repo.resolve("Stuttgart.proj/Stuttgart_LOD0_LOD1_around_campus.gml");
+		String emptyGMLString = RegionExtractor.selectRegionDirectlyFromCityGML(citygmlPath, wktPolygon, "EPSG:31463")
+				.toString();
+		assertEquals(countRegexMatches(emptyGMLString, "<(core:)?cityObjectMember"), 2);
+	}
 }