diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/NotesUtility.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/NotesUtility.java
new file mode 100644
index 0000000000000000000000000000000000000000..7a0bac687e063250633d27cbd35f6a8eafa64ade
--- /dev/null
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/NotesUtility.java
@@ -0,0 +1,32 @@
+package lcsb.mapviewer.converter.model.sbml;
+
+import javax.xml.stream.XMLStreamException;
+
+import org.sbml.jsbml.AbstractNamedSBase;
+
+import lcsb.mapviewer.converter.InvalidInputDataExecption;
+
+public class NotesUtility {
+  public static  String extractNotes(AbstractNamedSBase sbmlElement) throws InvalidInputDataExecption {
+    String notes = "";
+    try {
+      notes = sbmlElement.getNotesString();
+    } catch (XMLStreamException e) {
+      throw new InvalidInputDataExecption(sbmlElement.getId() + " Invalid notes", e);
+    }
+    if (sbmlElement.getNotes() != null) {
+      if (sbmlElement.getNotes().getChildCount() > 1) {
+        if (sbmlElement.getNotes().getChild(1).getChildCount() > 1) {
+          if (sbmlElement.getNotes().getChild(1).getChild(1).getChildCount() > 0) {
+            notes = sbmlElement.getNotes().getChild(1).getChild(1).getChild(0).getCharacters();
+          } else {
+            notes = sbmlElement.getNotes().getChild(1).getChild(1).getCharacters();
+          }
+        }
+      }
+    }
+    return notes;
+  }
+
+
+}
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlBioEntityParser.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlBioEntityParser.java
index acbffb2c09f2814b8dba71319c801a85a71608d1..b53c544c8b097765123fb4cd06e5bcc945a2948d 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlBioEntityParser.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlBioEntityParser.java
@@ -95,7 +95,7 @@ public class SbmlBioEntityParser extends XmlParser {
     if (result.getName() == null || result.getName().isEmpty()) {
       result.setName(result.getElementId());
     }
-    String notes = extractNotes(sbmlElement);
+    String notes = NotesUtility.extractNotes(sbmlElement);
     result.setNotes(notes);
 
     if (result instanceof Element) {
@@ -104,27 +104,6 @@ public class SbmlBioEntityParser extends XmlParser {
     }
   }
 
-  private String extractNotes(AbstractNamedSBase sbmlElement) throws InvalidInputDataExecption {
-    String notes = "";
-    try {
-      notes = sbmlElement.getNotesString();
-    } catch (XMLStreamException e) {
-      throw new InvalidInputDataExecption(sbmlElement.getId() + " Invalid notes", e);
-    }
-    if (sbmlElement.getNotes() != null) {
-      if (sbmlElement.getNotes().getChildCount() > 1) {
-        if (sbmlElement.getNotes().getChild(1).getChildCount() > 1) {
-          if (sbmlElement.getNotes().getChild(1).getChild(1).getChildCount() > 0) {
-            notes = sbmlElement.getNotes().getChild(1).getChild(1).getChild(0).getCharacters();
-          } else {
-            notes = sbmlElement.getNotes().getChild(1).getChild(1).getCharacters();
-          }
-        }
-      }
-    }
-    return notes;
-  }
-
   protected String getNextId() {
     return (idCounter++) + "";
   }
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlExporter.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlExporter.java
index 79d301288529c66102f0821255a94ecd6b9bda98..45d496c6cedef68db65b2a1b3b574ffdb391de7d 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlExporter.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlExporter.java
@@ -9,6 +9,7 @@ import java.util.Set;
 import javax.xml.stream.XMLStreamException;
 
 import org.apache.commons.io.output.ByteArrayOutputStream;
+import org.apache.commons.lang3.StringEscapeUtils;
 import org.apache.log4j.Logger;
 import org.sbml.jsbml.Model;
 import org.sbml.jsbml.SBMLDocument;
@@ -78,6 +79,12 @@ public class SbmlExporter {
     SBMLDocument doc = new SBMLDocument(3, 2);
     Model result = doc.createModel(model.getIdModel());
     result.setName(model.getName());
+    try {
+      result.setNotes(StringEscapeUtils.escapeXml(model.getNotes()));
+    } catch (XMLStreamException e) {
+      throw new InvalidStateException(e);
+    }
+
     if (usedExtensions.contains(SbmlExtension.LAYOUT)) {
       createSbmlLayout(model, result);
     }
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParser.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParser.java
index 48f4e8d3ac934dcef3fc4d6ce5690df21ed3d58d..7bf2917282320d5441c260079b6034a967130c56 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParser.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/SbmlParser.java
@@ -68,6 +68,7 @@ public class SbmlParser implements IConverter {
       org.sbml.jsbml.Model sbmlModel = sbmlDocument.getModel();
       model.setIdModel(sbmlModel.getId());
       model.setName(sbmlModel.getName());
+      model.setNotes(NotesUtility.extractNotes(sbmlModel));
 
       checkAvailableExtensions(sbmlModel);
       Layout layout = getSbmlLayout(sbmlModel);
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlExporterTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlExporterTest.java
index 92b27dcc63168fdc6cb9c1343ad978ef264bcfb0..37a79998a31d12b06fabae969c3327524b364bc7 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlExporterTest.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/SbmlExporterTest.java
@@ -614,4 +614,14 @@ public class SbmlExporterTest {
 
   }
 
+  @Test
+  public void testExportNotes() throws Exception {
+    Model model = createEmptyModel();
+    model.setNotes("XX");
+    Model deserializedModel = getModelAfterSerializing(model);
+
+    assertEquals("Notes weren't exported/imported properly", model.getNotes(), deserializedModel.getNotes());
+
+  }
+
 }