diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TrafficAreaObject.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TrafficAreaObject.java
index 9824513ce88235ed9a502862d2f63775fcbf8be6..28341a4c7a6a45baad8b54c38dc34d1b211371ff 100644
--- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TrafficAreaObject.java
+++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TrafficAreaObject.java
@@ -8,7 +8,6 @@ import org.citygml4j.core.util.geometry.GeometryFactory;
 import org.xmlobjects.gml.model.geometry.aggregates.MultiSurface;
 import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty;
 
-import java.util.List;
 
 public class TrafficAreaObject extends TransportationObject {
 
@@ -74,6 +73,12 @@ public class TrafficAreaObject extends TransportationObject {
 
     private void setMultiSurfaceAccordingToLod(TrafficArea ta, MultiSurface ms, Lod lod) {
         switch (lod) {
+            case LOD0:
+                ta.setLod0MultiSurface(new MultiSurfaceProperty(ms));
+                break;
+            case LOD1:
+                ta.setLod1MultiSurface(new MultiSurfaceProperty(ms));
+                break;
             case LOD2:
                 ta.setLod2MultiSurface(new MultiSurfaceProperty(ms));
                 break;
diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TransportationSpace.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TransportationSpace.java
index db66a3898e157b9b18e0dc56c06d0d2b6d7ac7a2..c2c73715c8eea13f3a1c274e5016cd33c9c03e21 100644
--- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TransportationSpace.java
+++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TransportationSpace.java
@@ -8,6 +8,7 @@ import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils;
 import de.hft.stuttgart.citydoctor2.utils.CopyHandler;
 import de.hft.stuttgart.citydoctor2.utils.Copyable;
 import org.citygml4j.core.model.core.AbstractSpace;
+import org.citygml4j.core.model.transportation.AbstractTransportationSpace;
 import org.citygml4j.core.util.geometry.GeometryFactory;
 import org.xmlobjects.gml.model.geometry.aggregates.MultiSurface;
 import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty;
@@ -48,8 +49,12 @@ public abstract class TransportationSpace extends TransportationObject {
             }
             if (geom.getType() == GeometryType.MULTI_SURFACE) {
                 MultiSurface ms = CityGmlUtils.createMultiSurface(geom, factory, config);
-                AbstractSpace ats = (AbstractSpace) super.getGmlObject();
-                setMultiSurfaceAccordingToLod(ats, ms, geom.getLod());
+                if (super.getGmlObject() instanceof AbstractTransportationSpace ats) {
+                    setMultiSurfaceAccordingToLod(ats, ms, geom.getLod());
+                } else {
+                    AbstractSpace as = (AbstractSpace) super.getGmlObject();
+                    setMultiSurfaceAccordingToLod(as, ms, geom.getLod());
+                }
             } else {
                 throw new IllegalStateException("Geometry in TransportationObject cannot be of type " + geom.getType()
                         + ". Only MultiSurface allowed");
@@ -63,16 +68,28 @@ public abstract class TransportationSpace extends TransportationObject {
         }
     }
 
-    private void setMultiSurfaceAccordingToLod(AbstractSpace ats, MultiSurface ms, Lod lod) {
+    private void setMultiSurfaceAccordingToLod(AbstractTransportationSpace ats, MultiSurface ms, Lod lod) {
+        switch (lod) {
+            case LOD0 -> ats.setLod0MultiSurface(new MultiSurfaceProperty(ms));
+            case LOD1 -> ats.getDeprecatedProperties().setLod1MultiSurface(new MultiSurfaceProperty(ms));
+            case LOD2 -> ats.setLod2MultiSurface(new MultiSurfaceProperty(ms));
+            case LOD3 -> ats.setLod3MultiSurface(new MultiSurfaceProperty(ms));
+            case LOD4 -> ats.getDeprecatedProperties().setLod4MultiSurface(new MultiSurfaceProperty(ms));
+            default ->
+                    throw new IllegalStateException("cannot set geometry with LOD for AuxiliaryTrafficSpace: " + lod);
+        }
+    }
+
+    private void setMultiSurfaceAccordingToLod(AbstractSpace as, MultiSurface ms, Lod lod) {
         switch (lod) {
             case LOD0:
-                ats.setLod0MultiSurface(new MultiSurfaceProperty(ms));
+                as.setLod0MultiSurface(new MultiSurfaceProperty(ms));
                 break;
             case LOD2:
-                ats.setLod2MultiSurface(new MultiSurfaceProperty(ms));
+                as.setLod2MultiSurface(new MultiSurfaceProperty(ms));
                 break;
             case LOD3:
-                ats.setLod3MultiSurface(new MultiSurfaceProperty(ms));
+                as.setLod3MultiSurface(new MultiSurfaceProperty(ms));
                 break;
             default:
                 throw new IllegalStateException("cannot set geometry with LOD for AuxiliaryTrafficSpace: " + lod);