diff --git a/src/main/java/eu/simstadt/regionchooser/RegionExtractor.java b/src/main/java/eu/simstadt/regionchooser/RegionExtractor.java
index 335700b4d55e427a8ad470e1fdd7d7e77b8a142f..40291196f9dae6e1658f683fb2e91a782edd4abf 100644
--- a/src/main/java/eu/simstadt/regionchooser/RegionExtractor.java
+++ b/src/main/java/eu/simstadt/regionchooser/RegionExtractor.java
@@ -62,21 +62,21 @@ static int selectRegionDirectlyFromCityGML(String wktPolygon, String srsName, Wr
 			LOGGER.info("Parsing " + citygmlPath);
 			//TODO: Allow citygmlPath for folders too, and iterate over gmls?
 			citygml = new CityGmlIterator(citygmlPath);
-			for (CityObjectMember buildingXmlNode : citygml) {
+			for (CityObjectMember cityObjectNode : citygml) {
 				if (cityObjectsCount == 0) {
 					sb.append(replaceEnvelopeInHeader(citygml.getHeader(), poly.getEnvelopeInternal(), srsName));
 				}
 				cityObjectsCount += 1;
-				if (buildingXmlNode.hasCoordinates()) {
-					Coordinate coord = new Coordinate(buildingXmlNode.x, buildingXmlNode.y);
+				if (cityObjectNode.hasCoordinates()) {
+					Coordinate coord = new Coordinate(cityObjectNode.x, cityObjectNode.y);
 					Point point = GEOMETRY_FACTORY.createPoint(coord);
 					if (point.within(poly)) {
-						if (buildingXmlNode.isBuilding()) {
+						if (cityObjectNode.isBuilding()) {
 							foundBuildingsCount++;
 						} else {
 							foundVegetationCount++;
 						}
-						sb.append(buildingXmlNode.toString());
+						sb.append(cityObjectNode.toString());
 					}
 				}
 				if (cityObjectsCount % 1000 == 0) {
diff --git a/src/test/java/eu/simstadt/regionchooser/fast_xml_parser/CitygmlParserTests.java b/src/test/java/eu/simstadt/regionchooser/fast_xml_parser/CitygmlParserTests.java
index cebd94b6e1c4e6a90d6334c52f24fa218f38eb53..6e6aac2260ac99aa9028f48d70d523f1bddd1946 100644
--- a/src/test/java/eu/simstadt/regionchooser/fast_xml_parser/CitygmlParserTests.java
+++ b/src/test/java/eu/simstadt/regionchooser/fast_xml_parser/CitygmlParserTests.java
@@ -17,19 +17,19 @@
 
 	private void testNoNanInCoordinates(Path citygmlPath) throws XPathParseException {
 		CityGmlIterator buildingXmlNodes = new CityGmlIterator(citygmlPath);
-		for (CityObjectMember buildingXmlNode : buildingXmlNodes) {
-			assertTrue(buildingXmlNode.hasCoordinates(), "Buildings should have coordinates");
-			assertFalse(Double.isNaN(buildingXmlNode.x), COORDINATE_SHOULD_BE_A_DOUBLE);
-			assertFalse(Double.isNaN(buildingXmlNode.y), COORDINATE_SHOULD_BE_A_DOUBLE);
-			assertFalse(Double.isNaN(buildingXmlNode.xMax), COORDINATE_SHOULD_BE_A_DOUBLE);
-			assertFalse(Double.isNaN(buildingXmlNode.yMax), COORDINATE_SHOULD_BE_A_DOUBLE);
-			assertFalse(Double.isNaN(buildingXmlNode.xMin), COORDINATE_SHOULD_BE_A_DOUBLE);
-			assertFalse(Double.isNaN(buildingXmlNode.yMin), COORDINATE_SHOULD_BE_A_DOUBLE);
+		for (CityObjectMember cityObjectNode : buildingXmlNodes) {
+			assertTrue(cityObjectNode.hasCoordinates(), "Building and vegetations should have coordinates");
+			assertFalse(Double.isNaN(cityObjectNode.x), COORDINATE_SHOULD_BE_A_DOUBLE);
+			assertFalse(Double.isNaN(cityObjectNode.y), COORDINATE_SHOULD_BE_A_DOUBLE);
+			assertFalse(Double.isNaN(cityObjectNode.xMax), COORDINATE_SHOULD_BE_A_DOUBLE);
+			assertFalse(Double.isNaN(cityObjectNode.yMax), COORDINATE_SHOULD_BE_A_DOUBLE);
+			assertFalse(Double.isNaN(cityObjectNode.xMin), COORDINATE_SHOULD_BE_A_DOUBLE);
+			assertFalse(Double.isNaN(cityObjectNode.yMin), COORDINATE_SHOULD_BE_A_DOUBLE);
 			// Some SolitaryVegetationObjects are defined with a single point.
-			assertTrue(buildingXmlNode.xMax >= buildingXmlNode.x, COORDINATES_SHOULD_BE_PLAUSIBLE);
-			assertTrue(buildingXmlNode.yMax >= buildingXmlNode.y, COORDINATES_SHOULD_BE_PLAUSIBLE);
-			assertTrue(buildingXmlNode.xMin <= buildingXmlNode.x, COORDINATES_SHOULD_BE_PLAUSIBLE);
-			assertTrue(buildingXmlNode.yMin <= buildingXmlNode.y, COORDINATES_SHOULD_BE_PLAUSIBLE);
+			assertTrue(cityObjectNode.xMax >= cityObjectNode.x, COORDINATES_SHOULD_BE_PLAUSIBLE);
+			assertTrue(cityObjectNode.yMax >= cityObjectNode.y, COORDINATES_SHOULD_BE_PLAUSIBLE);
+			assertTrue(cityObjectNode.xMin <= cityObjectNode.x, COORDINATES_SHOULD_BE_PLAUSIBLE);
+			assertTrue(cityObjectNode.yMin <= cityObjectNode.y, COORDINATES_SHOULD_BE_PLAUSIBLE);
 		}
 	}
 
@@ -38,6 +38,16 @@ public void testExtractCoordsFromStuttgart() throws XPathParseException {
 		Path repo = Paths.get(REGION_CHOOSER_TESTDATA, "Stuttgart.proj");
 		Path citygmlPath = repo.resolve("Stuttgart_LOD0_LOD1_buildings_and_trees.gml");
 		testNoNanInCoordinates(citygmlPath);
+		CityGmlIterator buildingXmlNodes = new CityGmlIterator(citygmlPath);
+		boolean foundBuildings = false;
+		boolean foundTrees = false;
+		for (CityObjectMember cityObjectNode : buildingXmlNodes) {
+			boolean isBuilding = cityObjectNode.isBuilding();
+			foundBuildings |= isBuilding;
+			foundTrees |= !isBuilding;
+		}
+		assertTrue(foundBuildings, "At least one building should have been found.");
+		assertTrue(foundTrees, "At least one tree should have been found.");
 	}
 
 	@Test