diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/writer/CityGMLWriterUtils.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/writer/CityGMLWriterUtils.java
index 52d9da5a2c6220824950590375bd264166d56f8d..05f543ff8a68cb336701c6b83ac6d38ec82593ea 100644
--- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/writer/CityGMLWriterUtils.java
+++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/writer/CityGMLWriterUtils.java
@@ -68,7 +68,7 @@ public class CityGMLWriterUtils {
 	public static void writeCityModel(String file, CityDoctorModel model) throws CityDoctorWriteException {
 		CityGMLContext gmlContext = CityGmlParser.getContext();
 		CityModel cModel = model.getCityModel();
-		CityGMLOutputFactory factory = gmlContext.createCityGMLOutputFactory(CityGMLVersion.v2_0);
+		CityGMLOutputFactory factory = gmlContext.createCityGMLOutputFactory(model.getCityGMLVersion());
 		try (CityGMLWriter writer = factory.createCityGMLWriter(new File(file))) {
 			writer.withIndent("  ");
 			writer.withDefaultPrefixes();
@@ -92,6 +92,9 @@ public class CityGMLWriterUtils {
 			storeCityObjects(model.getLand(), gmlFactory, model, cModel, val);
 			storeCityObjects(model.getTransportation(), gmlFactory, model, cModel, val);
 			storeCityObjects(model.getWater(), gmlFactory, model, cModel, val);
+			storeCityObjects(model.getCityFurniture(), gmlFactory, model, cModel, val);
+			storeCityObjects(model.getGenericCityObjects(), gmlFactory, model, cModel, val);
+			storeCityObjects(model.getTunnels(), gmlFactory, model, cModel, val);
 
 			writer.write(cModel);
 			cModel.getCityObjectMembers().clear();