diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParser.java
index d4255f49b50684db187e2683c41791c7300ee93f..f918d97a6ec7d4101417ecf270b15031cf090ad2 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/CellDesignerXmlParser.java
@@ -592,6 +592,7 @@ public class CellDesignerXmlParser extends XmlParser implements IConverter {
 
     SpeciesCollectionXmlParser speciesCollectionXmlParser = new SpeciesCollectionXmlParser(elements);
     ReactionCollectionXmlParser reactionCollectionXmlParser = new ReactionCollectionXmlParser(model, elements, false);
+    UnitCollectionXmlParser unitCollectionXmlParser = new UnitCollectionXmlParser();
     FunctionCollectionXmlParser functionCollectionXmlParser = new FunctionCollectionXmlParser();
     ParameterCollectionXmlParser parameterCollectionXmlParser = new ParameterCollectionXmlParser(model);
 
@@ -611,6 +612,7 @@ public class CellDesignerXmlParser extends XmlParser implements IConverter {
       result.append("</notes>");
     }
 
+    result.append(unitCollectionXmlParser.toXml(model.getUnits()));
     result.append(functionCollectionXmlParser.toXml(model.getFunctions()));
     result.append(parameterCollectionXmlParser.toXml(model.getParameters()));
     result.append(annotationToXml(model, elements));
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/unit/UnitCollectionXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/unit/UnitCollectionXmlParser.java
index 1cf70a80670ce41454055cdb8f9c71f965e232a8..a442d3c394c894c944aa117e948d8f08201fdbe3 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/unit/UnitCollectionXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/unit/UnitCollectionXmlParser.java
@@ -21,4 +21,14 @@ public class UnitCollectionXmlParser extends XmlParser {
     return result;
   }
 
+  public String toXml(Set<SbmlUnit> units) {
+    StringBuilder builder = new StringBuilder();
+    builder.append("<listOfUnitDefinitions>\n");
+    for (SbmlUnit unit: units) {
+      builder.append(unitParser.toXml(unit));
+    }
+    builder.append("</listOfUnitDefinitions>\n");
+    return builder.toString();
+  }
+
 }
diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/unit/UnitXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/unit/UnitXmlParser.java
index fe1ca925a076d10518635f53844040873aa43821..d93d4f29516722932f5a53f2ebf5c4da806f76f1 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/unit/UnitXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/unit/UnitXmlParser.java
@@ -67,4 +67,30 @@ public class UnitXmlParser extends XmlParser {
     }
     return new SbmlUnitTypeFactor(unitType, exponent, scale, multiplier);
   }
+
+  public String toXml(SbmlUnit unit) {
+    StringBuilder result = new StringBuilder();
+    result.append("<unitDefinition ");
+    result.append("id=\"" + unit.getUnitId() + "\" ");
+    result.append("name=\"" + unit.getName() + "\" ");
+    result.append(">\n");
+    result.append("<listOfUnits>\n");
+    for (SbmlUnitTypeFactor factor : unit.getUnitTypeFactors()) {
+      result.append(toXml(factor));
+    }
+    result.append("</listOfUnits>\n");
+    result.append("</unitDefinition>");
+    return result.toString();
+  }
+
+  private String toXml(SbmlUnitTypeFactor factor) {
+    StringBuilder result = new StringBuilder();
+    result.append("<unit ");
+    result.append("kind=\"" + factor.getUnitType().toString().toLowerCase() + "\" ");
+    result.append("scale=\"" + factor.getScale() + "\" ");
+    result.append("exponent=\"" + factor.getExponent() + "\" ");
+    result.append("multiplier=\"" + factor.getMultiplier() + "\" ");
+    result.append("/>\n");
+    return result.toString();
+  }
 }