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 26d31a3941386a7545fc221aa979668439e0ae4f..28bd63f9ebe024a218496be69f8512fe1d6d6fa3 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
@@ -621,7 +621,7 @@ public class CellDesignerXmlParser extends Converter {
 
       result.append(functionCollectionXmlParser.toXml(model.getFunctions()));
       result.append(unitCollectionXmlParser.toXml(model.getUnits()));
-      //notes must be inserted here, but we don't know the warnings yet
+      // notes must be inserted here, but we don't know the warnings yet
       int notesPosition = result.length();
       result.append(annotationToXml(model, elements));
 
@@ -633,7 +633,7 @@ public class CellDesignerXmlParser extends Converter {
 
       result.append(parameterCollectionXmlParser.toXml(model.getParameters()));
       result.append(reactionCollectionXmlParser.reactionCollectionToXmlString(model.getReactions()));
-      
+
       if (model.getNotes() != null || !appender.getWarnings().isEmpty()) {
         StringBuilder notes = new StringBuilder();
         notes.append("<notes>");
@@ -676,8 +676,8 @@ public class CellDesignerXmlParser extends Converter {
     result.append("<annotation>\n");
     result.append("<celldesigner:extension>\n");
     result.append("<celldesigner:modelVersion>4.0</celldesigner:modelVersion>\n");
-    result.append("<celldesigner:modelDisplay sizeX=\"" + model.getWidth().intValue() + "\" sizeY=\""
-        + model.getHeight().intValue() + "\"/>\n");
+    result.append("<celldesigner:modelDisplay sizeX=\"" + (int) (model.getWidth()) + "\" sizeY=\""
+        + (int) (model.getHeight()) + "\"/>\n");
 
     result.append(speciesCollectionXmlParser.speciesCollectionToXmlIncludedString(model.getSpeciesList()));
 
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 28c658a78afc0f16ea91805bc234029cf87755d3..6aa238ac2f9c19f1614c6c1af5e44b019625fb42 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
@@ -99,7 +99,8 @@ public class SbmlExporter {
     compartmentExporter.setProvideDefaults(provideDefaults);
 
     XmlAnnotationParser parser = new XmlAnnotationParser();
-    String rdf = parser.dataSetToXmlString(model.getMiriamData(), model.getAuthors(), model.getCreationDate(), model.getModificationDates(), model.getIdModel());
+    String rdf = parser.dataSetToXmlString(model.getMiriamData(), model.getAuthors(), model.getCreationDate(),
+        model.getModificationDates(), model.getIdModel());
     try {
       result.setAnnotation(rdf);
     } catch (XMLStreamException e1) {
@@ -141,12 +142,12 @@ public class SbmlExporter {
     Layout layout = new Layout();
     layout.setId("minerva_layout");
     Dimensions dimensions = new Dimensions();
-    if (model.getHeight() != null) {
+    if (model.getHeight() > 0) {
       dimensions.setHeight(model.getHeight());
     } else {
       dimensions.setHeight(640);
     }
-    if (model.getWidth() != null) {
+    if (model.getWidth() > 0) {
       dimensions.setWidth(model.getWidth());
     } else {
       dimensions.setWidth(480);
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 3769a79627ccb3b5fe343f28ab596a47d4864500..12344d5b7826c23f6562f3a923a74aa6bef1e6eb 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
@@ -1,8 +1,6 @@
 package lcsb.mapviewer.converter.model.sbml;
 
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Set;
+import java.util.*;
 
 import javax.xml.stream.XMLStreamException;
 
@@ -18,12 +16,9 @@ import org.sbml.jsbml.ext.multi.MultiModelPlugin;
 
 import lcsb.mapviewer.commands.CommandExecutionException;
 import lcsb.mapviewer.commands.layout.ApplySimpleLayoutModelCommand;
+import lcsb.mapviewer.common.Configuration;
 import lcsb.mapviewer.common.MimeType;
-import lcsb.mapviewer.converter.Converter;
-import lcsb.mapviewer.converter.ConverterException;
-import lcsb.mapviewer.converter.ConverterParams;
-import lcsb.mapviewer.converter.InvalidInputDataExecption;
-import lcsb.mapviewer.converter.ZIndexPopulator;
+import lcsb.mapviewer.converter.*;
 import lcsb.mapviewer.converter.model.sbml.compartment.SbmlCompartmentParser;
 import lcsb.mapviewer.converter.model.sbml.reaction.SbmlReactionParser;
 import lcsb.mapviewer.converter.model.sbml.species.SbmlSpeciesParser;
@@ -33,12 +28,8 @@ import lcsb.mapviewer.model.map.InconsistentModelException;
 import lcsb.mapviewer.model.map.model.Model;
 import lcsb.mapviewer.model.map.model.ModelFullIndexed;
 import lcsb.mapviewer.model.map.modifier.Modulation;
-import lcsb.mapviewer.model.map.reaction.AbstractNode;
-import lcsb.mapviewer.model.map.reaction.Modifier;
-import lcsb.mapviewer.model.map.reaction.Reaction;
-import lcsb.mapviewer.model.map.species.Complex;
-import lcsb.mapviewer.model.map.species.Element;
-import lcsb.mapviewer.model.map.species.Species;
+import lcsb.mapviewer.model.map.reaction.*;
+import lcsb.mapviewer.model.map.species.*;
 import lcsb.mapviewer.model.map.species.field.ModificationResidue;
 import lcsb.mapviewer.model.map.species.field.SpeciesWithModificationResidue;
 
@@ -165,7 +156,7 @@ public class SbmlParser extends Converter {
 
   private void createLayout(Model model, Layout layout, boolean resize, SbmlReactionParser parser)
       throws InvalidInputDataExecption {
-    if (model.getWidth() == null) {
+    if (model.getWidth() <= Configuration.EPSILON) {
       double maxY = 1;
       double maxX = 1;
       for (Element element : model.getElements()) {
diff --git a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/compartment/SbmlCompartmentExporter.java b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/compartment/SbmlCompartmentExporter.java
index 1467cae134da8f6ec3bbfb5ec6afe381197342c7..6fdcc5da884ca294749990648a3f5b5908073031 100644
--- a/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/compartment/SbmlCompartmentExporter.java
+++ b/converter-sbml/src/main/java/lcsb/mapviewer/converter/model/sbml/compartment/SbmlCompartmentExporter.java
@@ -139,7 +139,7 @@ public class SbmlCompartmentExporter extends SbmlElementExporter<Compartment, or
       boundingBox.setPosition(new Point(element.getX(), element.getY(), 0));
       Dimensions dimensions = new Dimensions();
 
-      if (getMinervaModel().getWidth() != null) {
+      if (getMinervaModel().getWidth() > 0) {
         dimensions.setWidth(getMinervaModel().getWidth());
         dimensions.setHeight(getMinervaModel().getHeight());
       }
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 9ff9d18a095652376c7ce9c0eb4673cea47db4f3..64f29afefbc4a7e34c78fdf0728f89ac7ffaafba 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
@@ -145,8 +145,8 @@ public class SbmlExporterTest extends SbmlTestFunctions {
     model.setHeight(300);
     Model deserializedModel = getModelAfterSerializing(model);
 
-    assertEquals(model.getWidth(), deserializedModel.getWidth());
-    assertEquals(model.getHeight(), deserializedModel.getHeight());
+    assertEquals(model.getWidth(), deserializedModel.getWidth(), Configuration.EPSILON);
+    assertEquals(model.getHeight(), deserializedModel.getHeight(), Configuration.EPSILON);
   }
 
   @Test
diff --git a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionExporterTest.java b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionExporterTest.java
index ce2936868e767e422bff66032df674c1f458dda0..278166360e14726f22e3a959868a40eaf3cdd8ab 100644
--- a/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionExporterTest.java
+++ b/converter-sbml/src/test/java/lcsb/mapviewer/converter/model/sbml/reaction/SbmlReactionExporterTest.java
@@ -58,12 +58,12 @@ public class SbmlReactionExporterTest {
 
     Layout layout = new Layout();
     Dimensions dimensions = new Dimensions();
-    if (model.getHeight() != null) {
+    if (model.getHeight() > 0) {
       dimensions.setHeight(model.getHeight());
     } else {
       dimensions.setHeight(640);
     }
-    if (model.getWidth() != null) {
+    if (model.getWidth() > 0) {
       dimensions.setWidth(model.getWidth());
     } else {
       dimensions.setWidth(480);
diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/layout/ApplySimpleLayoutModelCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/layout/ApplySimpleLayoutModelCommand.java
index a3a81fe4564f4b112932cab14100f4f86594baae..3d5c0ab39a66b70a5d46a69c41821f503edf276a 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/layout/ApplySimpleLayoutModelCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/layout/ApplySimpleLayoutModelCommand.java
@@ -1,16 +1,7 @@
 package lcsb.mapviewer.commands.layout;
 
-import java.awt.geom.Dimension2D;
-import java.awt.geom.Point2D;
-import java.awt.geom.Rectangle2D;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.awt.geom.*;
+import java.util.*;
 
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
@@ -27,23 +18,9 @@ import lcsb.mapviewer.model.graphics.PolylineData;
 import lcsb.mapviewer.model.map.BioEntity;
 import lcsb.mapviewer.model.map.compartment.Compartment;
 import lcsb.mapviewer.model.map.model.Model;
-import lcsb.mapviewer.model.map.reaction.AbstractNode;
-import lcsb.mapviewer.model.map.reaction.AndOperator;
-import lcsb.mapviewer.model.map.reaction.AssociationOperator;
-import lcsb.mapviewer.model.map.reaction.DissociationOperator;
-import lcsb.mapviewer.model.map.reaction.Modifier;
-import lcsb.mapviewer.model.map.reaction.NodeOperator;
-import lcsb.mapviewer.model.map.reaction.Product;
-import lcsb.mapviewer.model.map.reaction.Reactant;
-import lcsb.mapviewer.model.map.reaction.Reaction;
-import lcsb.mapviewer.model.map.reaction.SplitOperator;
-import lcsb.mapviewer.model.map.reaction.TruncationOperator;
-import lcsb.mapviewer.model.map.reaction.type.DissociationReaction;
-import lcsb.mapviewer.model.map.reaction.type.HeterodimerAssociationReaction;
-import lcsb.mapviewer.model.map.reaction.type.TruncationReaction;
-import lcsb.mapviewer.model.map.species.Complex;
-import lcsb.mapviewer.model.map.species.Element;
-import lcsb.mapviewer.model.map.species.Species;
+import lcsb.mapviewer.model.map.reaction.*;
+import lcsb.mapviewer.model.map.reaction.type.*;
+import lcsb.mapviewer.model.map.species.*;
 import lcsb.mapviewer.model.map.species.field.ModificationResidue;
 import lcsb.mapviewer.model.map.species.field.SpeciesWithModificationResidue;
 
@@ -448,14 +425,8 @@ public class ApplySimpleLayoutModelCommand extends ApplyLayoutModelCommand {
   }
 
   protected void modifyModelSize(Model model, Point2D minPoint, Dimension2D dimension) {
-    double width = 0;
-    double height = 0;
-    if (model.getWidth() != null) {
-      width = model.getWidth();
-    }
-    if (model.getHeight() != null) {
-      height = model.getHeight();
-    }
+    double width = model.getWidth();
+    double height = model.getHeight();
     width = Math.max(width, minPoint.getX() + dimension.getWidth());
     height = Math.max(height, minPoint.getY() + dimension.getHeight());
     model.setWidth(width);
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/Model.java b/model/src/main/java/lcsb/mapviewer/model/map/model/Model.java
index 5450b22f0cb9bdf0645adcf0e695aef228fd4503..05bfbe7f9921e9e0338dc47a30804dd791e39737 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/model/Model.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/model/Model.java
@@ -53,7 +53,7 @@ public interface Model {
    * 
    * @return model width
    */
-  Double getWidth();
+  double getWidth();
 
   /**
    * Sets model width.
@@ -61,13 +61,13 @@ public interface Model {
    * @param width
    *          new model width
    */
-  void setWidth(Double width);
+  void setWidth(double width);
 
   /**
    * 
    * @return model height
    */
-  Double getHeight();
+  double getHeight();
 
   /**
    * Sets model height.
@@ -75,7 +75,7 @@ public interface Model {
    * @param height
    *          new model height
    */
-  void setHeight(Double height);
+  void setHeight(double height);
 
   /**
    * Sets model width.
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelData.java b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelData.java
index eba400c886cccb3bb7ffef0fcd2b8bdef343499f..0e07da18b97f7d228c3a00b5e74835f43cbe9ee3 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelData.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelData.java
@@ -129,12 +129,12 @@ public class ModelData implements Serializable {
   /**
    * Width of the map.
    */
-  private Double width;
+  private double width;
 
   /**
    * Height of the map.
    */
-  private Double height;
+  private double height;
 
   /**
    * X coordinate that should be used when initially showing map.
@@ -550,7 +550,7 @@ public class ModelData implements Serializable {
    * @return the width
    * @see #width
    */
-  public Double getWidth() {
+  public double getWidth() {
     return width;
   }
 
@@ -559,7 +559,7 @@ public class ModelData implements Serializable {
    *          the width to set
    * @see #width
    */
-  public void setWidth(Double width) {
+  public void setWidth(double width) {
     this.width = width;
   }
 
@@ -567,7 +567,7 @@ public class ModelData implements Serializable {
    * @return the height
    * @see #height
    */
-  public Double getHeight() {
+  public double getHeight() {
     return height;
   }
 
@@ -576,7 +576,7 @@ public class ModelData implements Serializable {
    *          the height to set
    * @see #height
    */
-  public void setHeight(Double height) {
+  public void setHeight(double height) {
     this.height = height;
   }
 
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelFullIndexed.java b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelFullIndexed.java
index bd7085a6b1ea50e005457d0275147d689f9562de..0d6a451085acd616b97e0d197caf56650f54de4b 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelFullIndexed.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelFullIndexed.java
@@ -122,22 +122,22 @@ public class ModelFullIndexed implements Model {
   }
 
   @Override
-  public Double getWidth() {
+  public double getWidth() {
     return modelData.getWidth();
   }
 
   @Override
-  public void setWidth(Double width) {
+  public void setWidth(double width) {
     modelData.setWidth(width);
   }
 
   @Override
-  public Double getHeight() {
+  public double getHeight() {
     return modelData.getHeight();
   }
 
   @Override
-  public void setHeight(Double height) {
+  public void setHeight(double height) {
     modelData.setHeight(height);
   }
 
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/model/ModelFullIndexedTest.java b/model/src/test/java/lcsb/mapviewer/model/map/model/ModelFullIndexedTest.java
index 371d0d385a79c0e71fd85b7891f0b70a1a808534..d6eab5e5ce76153c519f5b6050b36db1b226e7a3 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/model/ModelFullIndexedTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/model/ModelFullIndexedTest.java
@@ -672,10 +672,10 @@ public class ModelFullIndexedTest {
     try {
       Model model = new ModelFullIndexed(null);
 
-      Double width = 12.0;
+      double width = 12.0;
       int widthInt = 12;
       String widthStr = "12.0";
-      Double height = 13.0;
+      double height = 13.0;
       String heightStr = "13.0";
       int heightInt = 13;
       Set<Element> elements = new HashSet<>();
@@ -684,26 +684,22 @@ public class ModelFullIndexedTest {
       String idModel = "model_ID";
 
       model.setWidth(widthStr);
-      assertEquals(width, model.getWidth());
-      model.setWidth((Double) null);
-      assertNull(model.getWidth());
+      assertEquals(width, model.getWidth(), Configuration.EPSILON);
+      model.setWidth(0.0);
       model.setWidth(width);
-      assertEquals(width, model.getWidth());
-      model.setWidth((Double) null);
-      assertNull(model.getWidth());
+      assertEquals(width, model.getWidth(), Configuration.EPSILON);
+      model.setWidth(0.0);
       model.setWidth(widthInt);
-      assertEquals(width, model.getWidth());
+      assertEquals(width, model.getWidth(), Configuration.EPSILON);
 
       model.setHeight(heightStr);
-      assertEquals(height, model.getHeight());
-      model.setHeight((Double) null);
-      assertNull(model.getHeight());
+      assertEquals(height, model.getHeight(), Configuration.EPSILON);
+      model.setHeight(0.0);
       model.setHeight(height);
-      assertEquals(height, model.getHeight());
-      model.setHeight((Double) null);
-      assertNull(model.getHeight());
+      assertEquals(height, model.getHeight(), Configuration.EPSILON);
+      model.setHeight(0.0);
       model.setHeight(heightInt);
-      assertEquals(height, model.getHeight());
+      assertEquals(height, model.getHeight(), Configuration.EPSILON);
 
       model.setElements(elements);
       assertEquals(elements, model.getElements());
diff --git a/persist/src/main/resources/db/migration/14.0.0~alpha.0/V14.0.0.20190722_2__size_of_map_cannot_be_null.sql b/persist/src/main/resources/db/migration/14.0.0~alpha.0/V14.0.0.20190722_2__size_of_map_cannot_be_null.sql
new file mode 100644
index 0000000000000000000000000000000000000000..f969d6ae9d9d6b3068f46eb6688a3c4440392f7c
--- /dev/null
+++ b/persist/src/main/resources/db/migration/14.0.0~alpha.0/V14.0.0.20190722_2__size_of_map_cannot_be_null.sql
@@ -0,0 +1,5 @@
+update model_data_table set width = 800 where width is null;
+update model_data_table set height = 600 where height is null;
+
+ALTER TABLE model_data_table ALTER COLUMN width SET NOT NULL;
+ALTER TABLE model_data_table ALTER COLUMN height SET NOT NULL;