diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionParser.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionParser.java
index 675593c468f9965859d0f7983c466e38eb0121dc..f0cb9f2087f964378a9f39010d99a904640f5b87 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionParser.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionParser.java
@@ -18,8 +18,11 @@ import org.sbml.jsbml.LocalParameter;
 import org.sbml.jsbml.Model;
 import org.sbml.jsbml.ModifierSpeciesReference;
 import org.sbml.jsbml.SpeciesReference;
+import org.sbml.jsbml.ext.layout.BoundingBox;
 import org.sbml.jsbml.ext.layout.Curve;
 import org.sbml.jsbml.ext.layout.CurveSegment;
+import org.sbml.jsbml.ext.layout.LineSegment;
+import org.sbml.jsbml.ext.layout.Point;
 import org.sbml.jsbml.ext.layout.ReactionGlyph;
 import org.sbml.jsbml.ext.layout.SpeciesGlyph;
 import org.sbml.jsbml.ext.layout.SpeciesReferenceGlyph;
@@ -274,8 +277,8 @@ public class SbmlReactionParser extends SbmlBioEntityParser {
 
   private NodeOperator createOutputOperator(Reaction reactionWithLayout, ReactionGlyph reactionGlyph) {
     PolylineData line = new PolylineData();
-    Curve curve = reactionGlyph.getCurve();
-
+    Curve curve = extractCurve(reactionGlyph, reactionWithLayout);
+    
     int min = 0;
     if (reactionWithLayout.getReactants().size() > 1) {
       // with operator in the output we need to leave something for the operator
@@ -305,7 +308,7 @@ public class SbmlReactionParser extends SbmlBioEntityParser {
   private NodeOperator createInputOperator(Reaction reactionWithLayout, ReactionGlyph reactionGlyph) {
     PolylineData line = new PolylineData();
 
-    Curve curve = reactionGlyph.getCurve();
+    Curve curve = extractCurve(reactionGlyph, reactionWithLayout);
 
     int max = curve.getCurveSegmentCount();
     if (reactionWithLayout.getProducts().size() > 1) {
@@ -319,7 +322,7 @@ public class SbmlReactionParser extends SbmlBioEntityParser {
       }
       line.addPoint(new Point2D.Double(segment.getEnd().getX(), segment.getEnd().getY()));
     }
-    if (line.getPoints().size()==0) {
+    if (line.getPoints().size() == 0) {
       Point2D point = reactionWithLayout.getReactants().get(0).getLine().getEndPoint();
       line.addPoint(new Point2D.Double(point.getX(), point.getY()));
       line.addPoint(new Point2D.Double(point.getX(), point.getY()));
@@ -336,6 +339,33 @@ public class SbmlReactionParser extends SbmlBioEntityParser {
     return operator;
   }
 
+  /**
+   * Returns {@link Curve} associated to {@link ReactionGlyph}. If curve doesn't
+   * exist then method will try to create it from {@link BoundingBox} (due to SBML
+   * specification).
+   * 
+   * @param reactionGlyph
+   * @return
+   */
+  private Curve extractCurve(ReactionGlyph reactionGlyph, Reaction reaction) {
+    Curve curve = reactionGlyph.getCurve();
+    if (curve == null) {
+      curve = new Curve(getSbmlModel().getLevel(), getSbmlModel().getVersion());
+      BoundingBox box = reactionGlyph.getBoundingBox();
+      if (box != null && box.getDimensions() != null && box.getPosition() != null) {
+        LineSegment curveSegment = new LineSegment(getSbmlModel().getLevel(), getSbmlModel().getVersion());
+        curveSegment.setStart(new Point(box.getPosition()));
+        curveSegment.setEnd(new Point(box.getPosition().getX() + box.getDimensions().getWidth(),
+            box.getPosition().getY() + box.getDimensions().getHeight()));
+        curve.addCurveSegment(curveSegment);
+      } else {
+        logger.warn(new ElementUtils().getElementTag(reaction) + " invalid curve line for reaction (node: "
+            + reactionGlyph.getId() + ")");
+      }
+    }
+    return curve;
+  }
+
   private Class<? extends ReactionNode> getReactionNodeClass(SpeciesReferenceGlyph speciesRefernceGlyph) {
     Class<? extends ReactionNode> nodeClass = null;
     if (speciesRefernceGlyph.getRole() != null) {
diff --git a/converter-sbml/testFiles/layoutExample/no_curve_in_reaction.xml b/converter-sbml/testFiles/layoutExample/no_curve_in_reaction.xml
new file mode 100644
index 0000000000000000000000000000000000000000..bfee8d12f3b8811f884db9cbb82d5ba7321b1495
--- /dev/null
+++ b/converter-sbml/testFiles/layoutExample/no_curve_in_reaction.xml
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sbml xmlns="http://www.sbml.org/sbml/level3/version1/core" xmlns:layout="http://www.sbml.org/sbml/level3/version1/layout/version1" level="3" version="1" layout:required="false">
+  <model substanceUnits="mole" timeUnits="second" extentUnits="mole">
+    <listOfUnitDefinitions>
+      <unitDefinition id="per_second">
+        <listOfUnits>
+          <unit kind="second" exponent="-1" scale="0" multiplier="1"/>
+        </listOfUnits>
+      </unitDefinition>
+    </listOfUnitDefinitions>
+    <listOfCompartments>
+      <compartment id="default" constant="false"/>
+    </listOfCompartments>
+    <listOfSpecies>
+      <species sboTerm="SBO:0000252" id="species_3" name="s4" compartment="default" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species sboTerm="SBO:0000247" id="species_5" name="s6" compartment="default" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species sboTerm="SBO:0000244" id="species_0" name="s7" compartment="default" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species sboTerm="SBO:0000297" id="species_1" name="s1" compartment="default" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+      <species sboTerm="SBO:0000247" id="species_6" name="s5" compartment="default" initialAmount="0" hasOnlySubstanceUnits="true" boundaryCondition="false" constant="false"/>
+    </listOfSpecies>
+    <listOfReactions>
+      <reaction sboTerm="SBO:0000176" id="re1" reversible="false" fast="false">
+        <listOfReactants>
+          <speciesReference species="species_1" constant="false"/>
+          <speciesReference species="species_6" constant="false"/>
+        </listOfReactants>
+        <listOfProducts>
+          <speciesReference species="species_3" constant="false"/>
+          <speciesReference species="species_5" constant="false"/>
+        </listOfProducts>
+        <listOfModifiers>
+          <modifierSpeciesReference species="species_0"/>
+        </listOfModifiers>
+      </reaction>
+    </listOfReactions>
+    <layout:listOfLayouts xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:layout="http://www.sbml.org/sbml/level3/version1/layout/version1">
+      <layout:layout layout:id="predicted_layout">
+        <layout:dimensions layout:width="592" layout:height="352"/>
+        <layout:listOfSpeciesGlyphs>
+          <layout:speciesGlyph layout:id="sg_sa3" layout:species="species_3">
+            <layout:boundingBox layout:id="bb_sg_sa3">
+              <layout:position layout:x="461" layout:y="293"/>
+              <layout:dimensions layout:width="80" layout:height="40"/>
+            </layout:boundingBox>
+          </layout:speciesGlyph>
+          <layout:speciesGlyph layout:id="sg_sa5" layout:species="species_5">
+            <layout:boundingBox layout:id="bb_sg_sa5">
+              <layout:position layout:x="452" layout:y="186"/>
+              <layout:dimensions layout:width="80" layout:height="40"/>
+            </layout:boundingBox>
+          </layout:speciesGlyph>
+          <layout:speciesGlyph layout:id="sg_sa6" layout:species="species_0">
+            <layout:boundingBox layout:id="bb_sg_sa6">
+              <layout:position layout:x="355" layout:y="61"/>
+              <layout:dimensions layout:width="80" layout:height="40"/>
+            </layout:boundingBox>
+          </layout:speciesGlyph>
+          <layout:speciesGlyph layout:id="sg_csa1" layout:species="species_1">
+            <layout:boundingBox layout:id="bb_sg_csa1">
+              <layout:position layout:x="109" layout:y="207"/>
+              <layout:dimensions layout:width="80" layout:height="40"/>
+            </layout:boundingBox>
+          </layout:speciesGlyph>
+          <layout:speciesGlyph layout:id="sg_sa4" layout:species="species_6">
+            <layout:boundingBox layout:id="bb_sg_sa4">
+              <layout:position layout:x="233" layout:y="63"/>
+              <layout:dimensions layout:width="80" layout:height="40"/>
+            </layout:boundingBox>
+          </layout:speciesGlyph>
+        </layout:listOfSpeciesGlyphs>
+        <layout:listOfReactionGlyphs>
+          <layout:reactionGlyph layout:id="rg_re1_0" layout:reaction="re1">
+            <layout:boundingBox>
+              <layout:position layout:x="0" layout:y="0"/>
+              <layout:dimensions layout:width="0" layout:height="0"/>
+            </layout:boundingBox>
+            <layout:listOfSpeciesReferenceGlyphs>
+              <layout:speciesReferenceGlyph layout:id="srg_sa6" layout:speciesGlyph="sg_sa6" layout:role="inhibitor">
+                <layout:curve>
+                  <layout:listOfCurveSegments>
+                    <layout:curveSegment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="LineSegment">
+                      <layout:start layout:x="395" layout:y="81"/>
+                      <layout:end layout:x="352" layout:y="260"/>
+                    </layout:curveSegment>
+                  </layout:listOfCurveSegments>
+                </layout:curve>
+              </layout:speciesReferenceGlyph>
+              <layout:speciesReferenceGlyph layout:id="srg_sa3" layout:speciesGlyph="sg_sa3" layout:role="product">
+                <layout:curve>
+                  <layout:listOfCurveSegments>
+                    <layout:curveSegment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="LineSegment">
+                      <layout:start layout:x="352" layout:y="260"/>
+                      <layout:end layout:x="501" layout:y="313"/>
+                    </layout:curveSegment>
+                  </layout:listOfCurveSegments>
+                </layout:curve>
+              </layout:speciesReferenceGlyph>
+              <layout:speciesReferenceGlyph layout:id="srg_sa5" layout:speciesGlyph="sg_sa5" layout:role="sideproduct">
+                <layout:curve>
+                  <layout:listOfCurveSegments>
+                    <layout:curveSegment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="LineSegment">
+                      <layout:start layout:x="352" layout:y="260"/>
+                      <layout:end layout:x="492" layout:y="206"/>
+                    </layout:curveSegment>
+                  </layout:listOfCurveSegments>
+                </layout:curve>
+              </layout:speciesReferenceGlyph>
+              <layout:speciesReferenceGlyph layout:id="srg_csa1" layout:speciesGlyph="sg_csa1" layout:role="substrate">
+                <layout:curve>
+                  <layout:listOfCurveSegments>
+                    <layout:curveSegment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="LineSegment">
+                      <layout:start layout:x="352" layout:y="260"/>
+                      <layout:end layout:x="149" layout:y="227"/>
+                    </layout:curveSegment>
+                  </layout:listOfCurveSegments>
+                </layout:curve>
+              </layout:speciesReferenceGlyph>
+              <layout:speciesReferenceGlyph layout:id="srg_sa4" layout:speciesGlyph="sg_sa4" layout:role="sidesubstrate">
+                <layout:curve>
+                  <layout:listOfCurveSegments>
+                    <layout:curveSegment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="LineSegment">
+                      <layout:start layout:x="352" layout:y="260"/>
+                      <layout:end layout:x="273" layout:y="83"/>
+                    </layout:curveSegment>
+                  </layout:listOfCurveSegments>
+                </layout:curve>
+              </layout:speciesReferenceGlyph>
+            </layout:listOfSpeciesReferenceGlyphs>
+          </layout:reactionGlyph>
+        </layout:listOfReactionGlyphs>
+        <layout:listOfTextGlyphs>
+          <layout:textGlyph layout:id="tg_sa3" layout:originOfText="sg_sa3" layout:graphicalObject="sg_sa3">
+            <layout:boundingBox layout:id="bb_tg_sa3">
+              <layout:position layout:x="461" layout:y="293"/>
+              <layout:dimensions layout:width="80" layout:height="40"/>
+            </layout:boundingBox>
+          </layout:textGlyph>
+          <layout:textGlyph layout:id="tg_sa5" layout:originOfText="sg_sa5" layout:graphicalObject="sg_sa5">
+            <layout:boundingBox layout:id="bb_tg_sa5">
+              <layout:position layout:x="452" layout:y="186"/>
+              <layout:dimensions layout:width="80" layout:height="40"/>
+            </layout:boundingBox>
+          </layout:textGlyph>
+          <layout:textGlyph layout:id="tg_sa6" layout:originOfText="sg_sa6" layout:graphicalObject="sg_sa6">
+            <layout:boundingBox layout:id="bb_tg_sa6">
+              <layout:position layout:x="355" layout:y="61"/>
+              <layout:dimensions layout:width="80" layout:height="40"/>
+            </layout:boundingBox>
+          </layout:textGlyph>
+          <layout:textGlyph layout:id="tg_csa1" layout:originOfText="sg_csa1" layout:graphicalObject="sg_csa1">
+            <layout:boundingBox layout:id="bb_tg_csa1">
+              <layout:position layout:x="109" layout:y="207"/>
+              <layout:dimensions layout:width="80" layout:height="40"/>
+            </layout:boundingBox>
+          </layout:textGlyph>
+          <layout:textGlyph layout:id="tg_sa4" layout:originOfText="sg_sa4" layout:graphicalObject="sg_sa4">
+            <layout:boundingBox layout:id="bb_tg_sa4">
+              <layout:position layout:x="233" layout:y="63"/>
+              <layout:dimensions layout:width="80" layout:height="40"/>
+            </layout:boundingBox>
+          </layout:textGlyph>
+        </layout:listOfTextGlyphs>
+      </layout:layout>
+    </layout:listOfLayouts>
+  </model>
+</sbml>