diff --git a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlParser.java b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlParser.java
index 0808b4ec8112a9669fc492bc2ad00583817bff0a..2161a4a2ea516b6ce42cd19bba323053ee21a672 100644
--- a/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlParser.java
+++ b/converter-SBGNML/src/main/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlParser.java
@@ -24,6 +24,7 @@ import org.sbgn.bindings.Sbgn;
 import lcsb.mapviewer.common.comparator.DoubleComparator;
 import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.converter.InvalidInputDataExecption;
+import lcsb.mapviewer.converter.ZIndexPopulator;
 import lcsb.mapviewer.converter.graphics.bioEntity.element.species.SpeciesConverter;
 import lcsb.mapviewer.converter.model.celldesigner.geometry.CellDesignerAliasConverter;
 import lcsb.mapviewer.converter.model.celldesigner.types.ModifierType;
@@ -185,6 +186,8 @@ public class SbgnmlXmlParser {
         }
       }
     }
+    
+    new ZIndexPopulator().populateZIndex(model);
 
     return model;
   }
diff --git a/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlParserTest2.java b/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlParserTest2.java
index 1bdffa18e717b310d58bd209b7c165186d17121c..1c8a70fb1271e434b0b036a2bf6b7033c878c3f9 100644
--- a/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlParserTest2.java
+++ b/converter-SBGNML/src/test/java/lcsb/mapviewer/converter/model/sbgnml/SbgnmlXmlParserTest2.java
@@ -43,16 +43,33 @@ public class SbgnmlXmlParserTest2 {
   @Test
   public void createModelWithCompartmentsTest() throws Exception {
     try {
-        Converter converter = new SbgnmlXmlConverter();
-
-        Model model = converter
-            .createModel(new ConverterParams().filename("testFiles/sbgnmlParserTestFiles/sbgnmlFiles/elements_inside_compartment.xml"));
-        Complex complexInsideCompartment = model.getElementByElementId("csa1830");
-        assertNotNull("Complex inside compartment has undefined compartment", complexInsideCompartment.getCompartment());
-        Complex complexOutsideCompartment = model.getElementByElementId("csa1831");
-        assertNull("Complex outside compartment has not null compartment",complexOutsideCompartment.getCompartment());
-        Compartment compartment = model.getElementByElementId("ca107");
-        assertNull("Top compartment has not null compartment", compartment.getCompartment());
+      Converter converter = new SbgnmlXmlConverter();
+
+      Model model = converter
+          .createModel(new ConverterParams()
+              .filename("testFiles/sbgnmlParserTestFiles/sbgnmlFiles/elements_inside_compartment.xml"));
+      Complex complexInsideCompartment = model.getElementByElementId("csa1830");
+      assertNotNull("Complex inside compartment has undefined compartment", complexInsideCompartment.getCompartment());
+      Complex complexOutsideCompartment = model.getElementByElementId("csa1831");
+      assertNull("Complex outside compartment has not null compartment", complexOutsideCompartment.getCompartment());
+      Compartment compartment = model.getElementByElementId("ca107");
+      assertNull("Top compartment has not null compartment", compartment.getCompartment());
+    } catch (Exception e) {
+      e.printStackTrace();
+      throw e;
+    }
+  }
+
+  @Test
+  public void createModelWithZIndex() throws Exception {
+    try {
+      Converter converter = new SbgnmlXmlConverter();
+
+      Model model = converter
+          .createModel(new ConverterParams()
+              .filename("testFiles/sbgnmlParserTestFiles/sbgnmlFiles/elements_inside_compartment.xml"));
+      Complex complex = model.getElementByElementId("csa1830");
+      assertNotNull(complex.getZ());
     } catch (Exception e) {
       e.printStackTrace();
       throw e;