diff --git a/CHANGELOG b/CHANGELOG
index a1d9f7c3523837810524aabca20073651bc35abf..227fa55320e5df4fadd07a41632ec1e911caa42e 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -6,8 +6,10 @@ minerva (12.2.0~beta.3) unstable; urgency=medium
     invalid (#735)
   * Bug fix: closing Add Project window was taking infinity (#734)
   * Bug fix: align of checkboxes in top right corner fixed (#733)
+  * Bug fix: uploading SBML file without layout resulted in overlapping 
+    compartments (#736)
 
- -- Piotr Gawron <piotr.gawron@uni.lu>  Wed, 6 Mar 2019 17:00:00 +0200
+ -- Piotr Gawron <piotr.gawron@uni.lu>  Wed, 6 Mar 2019 14:00:00 +0200
 
 minerva (12.2.0~beta.2) unstable; urgency=medium
   * Bug fix: order of the overlays is defined explicitly also for general 
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 36b05a8d4c20e84205612a4c9ca291d20a08b5a8..7d06c068c228d8125d35c359e01d065d36be4cd2 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
@@ -219,7 +219,7 @@ public class ApplySimpleLayoutModelCommand extends ApplyLayoutModelCommand {
         minPoint.getY() + COMPARTMENT_BORDER, dimension.getWidth() - COMPARTMENT_BORDER * 2,
         dimension.getHeight() - COMPARTMENT_BORDER * 2);
     for (Element element : compartment.getElements()) {
-      if (!elements.contains(element) && element.getBorder()!=null) {
+      if (!elements.contains(element) && element.getBorder() != null && element.getX() != 0 && element.getY() != 0) {
         border.add(element.getBorder());
       }
     }
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 28eb7853b55c6518cebdf3055a70a483a7a67b98..b681b20e41f747982d0e18bc75b418679494e92a 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
@@ -151,7 +151,7 @@ public interface Model {
    * @param elements
    *          list of elements
    */
-  void addElements(List<? extends Element> elements);
+  void addElements(Collection<? extends Element> elements);
 
   /**
    * Sets new short description of the model.
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 8e7f837f2a73d56a5c6199743a742a72b70f334f..3f5eb64aff711aad75a7aac3fad50f78690e6eba 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
@@ -198,7 +198,7 @@ public class ModelFullIndexed implements Model {
   }
 
   @Override
-  public void addElements(List<? extends Element> elements) {
+  public void addElements(Collection<? extends Element> elements) {
     for (Element element : elements) {
       addElement(element);
     }
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/Element.java b/model/src/main/java/lcsb/mapviewer/model/map/species/Element.java
index 23f9e1802e56b00e13e442fe9e69befc0ad3f2ad..9245aee4c29e1a95dfa1efda8921442fb420b9ff 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/Element.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/Element.java
@@ -322,7 +322,7 @@ public abstract class Element implements BioEntity, Serializable, SbmlArgument {
    * @see x
    */
   public void setX(String string) {
-    this.x = Double.parseDouble(string);
+    setX(Double.parseDouble(string));
   }
 
   /**
@@ -483,7 +483,7 @@ public abstract class Element implements BioEntity, Serializable, SbmlArgument {
    * @return rectangle border
    */
   public Rectangle2D getBorder() {
-    if (x == null || y == null || width == null || height == null) {
+    if (x == null || y == null || width == null || height == null || width == 0.0 || height == 0.0) {
       return null;
     }
     return new Rectangle2D.Double(x, y, width, height);