diff --git a/src/main/java/eu/simstadt/regionchooser/RegionExtractor.java b/src/main/java/eu/simstadt/regionchooser/RegionExtractor.java
index ababc25ff60cece255a1e07e922ef79b9cf161d3..335700b4d55e427a8ad470e1fdd7d7e77b8a142f 100644
--- a/src/main/java/eu/simstadt/regionchooser/RegionExtractor.java
+++ b/src/main/java/eu/simstadt/regionchooser/RegionExtractor.java
@@ -53,7 +53,7 @@ static int selectRegionDirectlyFromCityGML(String wktPolygon, String srsName, Wr
 
 		int cityObjectsCount = 0;
 		int foundBuildingsCount = 0;
-		//		int foundVegetationCount = 0;
+		int foundVegetationCount = 0;
 		Geometry poly = WKT_READER.read(wktPolygon);
 
 		CityGmlIterator citygml = null;
@@ -71,7 +71,11 @@ static int selectRegionDirectlyFromCityGML(String wktPolygon, String srsName, Wr
 					Coordinate coord = new Coordinate(buildingXmlNode.x, buildingXmlNode.y);
 					Point point = GEOMETRY_FACTORY.createPoint(coord);
 					if (point.within(poly)) {
-						foundBuildingsCount++;
+						if (buildingXmlNode.isBuilding()) {
+							foundBuildingsCount++;
+						} else {
+							foundVegetationCount++;
+						}
 						sb.append(buildingXmlNode.toString());
 					}
 				}
@@ -90,6 +94,9 @@ static int selectRegionDirectlyFromCityGML(String wktPolygon, String srsName, Wr
 		}
 
 		LOGGER.info("Buildings found in selected region : " + foundBuildingsCount);
+		if (foundVegetationCount > 0) {
+			LOGGER.info("Vegetation found in selected region : " + foundVegetationCount);
+		}
 		//NOTE: This could be a problem if header starts with <core:CityModel> and footer ends with </CityModel>
 		sb.append(citygml.getFooter());
 		return foundBuildingsCount;
diff --git a/src/main/java/eu/simstadt/regionchooser/fast_xml_parser/CityObjectMember.java b/src/main/java/eu/simstadt/regionchooser/fast_xml_parser/CityObjectMember.java
index f51252e82b50eb0550a51702779bbd20847fa851..7ed42cc48c6e0a687dafa9ed869d9329b645d403 100644
--- a/src/main/java/eu/simstadt/regionchooser/fast_xml_parser/CityObjectMember.java
+++ b/src/main/java/eu/simstadt/regionchooser/fast_xml_parser/CityObjectMember.java
@@ -14,14 +14,11 @@
 
 public class CityObjectMember
 {
-	//TODO: Check it's the only correct possibility.
-	//FIXME: BuildingPart too!
 	static final String XPATH_PATTERN = "/CityModel/cityObjectMember[Building or SolitaryVegetationObject or PlantCover]";
 
 	private int nodeOffset;
 	private int nodeLength;
 	private VTDNav navigator;
-	private AutoPilot coordinatesFinder;
 	public Double x;
 	public Double xMin;
 	public Double xMax;
@@ -33,18 +30,28 @@
 	public CityObjectMember(VTDNav navigator, int nodeOffset, int nodeLength)
 			throws XPathParseException, XPathEvalException, NavException {
 		this.navigator = navigator;
-		this.coordinatesFinder = new AutoPilot(navigator);
 		this.nodeLength = nodeLength;
 		this.nodeOffset = nodeOffset;
 		extractCoordinates();
-		//TODO: Get Node ID too, in order to avoid duplicates?
-		//TODO: Now that "Building" can be Vegetation too, define a method to check class?
 	}
 
 	public boolean hasCoordinates() {
 		return coordinatesCount > 0;
 	}
 
+	public boolean isBuilding() {
+		try {
+			this.navigator.push();
+			AutoPilot checkBuilding = new AutoPilot(this.navigator);
+			checkBuilding.selectXPath("./Building");
+			return checkBuilding.evalXPath() != -1;
+		} catch (XPathEvalException | NavException | XPathParseException ex) {
+			return false;
+		} finally {
+			this.navigator.pop();
+		}
+	}
+
 	private void extractCoordinates()
 			throws XPathParseException, XPathEvalException, NavException {
 		double xTotal = 0;
@@ -56,6 +63,9 @@ private void extractCoordinates()
 		double tempYMin = Double.MAX_VALUE;
 		double tempYMax = Double.MIN_VALUE;
 
+
+		AutoPilot coordinatesFinder = new AutoPilot(navigator);
+
 		coordinatesFinder.selectXPath(".//posList|.//pos");
 		while (coordinatesFinder.evalXPath() != -1) {
 			long offsetAndLength = navigator.getContentFragment();
diff --git a/src/test/java/eu/simstadt/regionchooser/RegionExtractorTests.java b/src/test/java/eu/simstadt/regionchooser/RegionExtractorTests.java
index fc4857beb60b27cc6eee8fb82411615deaeffb1b..79c94563729dc34044bf347d109dc0af255a9f1a 100644
--- a/src/test/java/eu/simstadt/regionchooser/RegionExtractorTests.java
+++ b/src/test/java/eu/simstadt/regionchooser/RegionExtractorTests.java
@@ -173,7 +173,6 @@ void testExtractBuildingsAndRemoveOld() throws Throwable {
 		StringWriter gmlWriter = new StringWriter();
 		int count = RegionExtractor.selectRegionDirectlyFromCityGML(wktPolygon, "EPSG:25832", gmlWriter, citygmlPath);
 		String oneAachenBuilding = gmlWriter.toString();
-		System.out.println(oneAachenBuilding);
 		assertEquals(1, count);
 		assertEquals(1, countRegexMatches(oneAachenBuilding, CITY_OBJECT_MEMBER_REGEX));
 		assertTrue(oneAachenBuilding.contains("DENW39AL10003jfi"));