diff --git a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/SpeciesAliasXmlParser.java b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/SpeciesAliasXmlParser.java
index 30ab81753601fb2038ed17e7c881db0dc4b95766..631685017f23deda1b68c4c322817b6039265ec1 100644
--- a/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/SpeciesAliasXmlParser.java
+++ b/converter-CellDesigner/src/main/java/lcsb/mapviewer/converter/model/celldesigner/alias/SpeciesAliasXmlParser.java
@@ -143,7 +143,6 @@ public class SpeciesAliasXmlParser extends AbstractAliasXmlParser<Species> {
         complex.addSpecies(result);
       }
     }
-    
 
     species.updateModelElementAfterLayoutAdded(result);
     return result;
@@ -205,12 +204,12 @@ public class SpeciesAliasXmlParser extends AbstractAliasXmlParser<Species> {
     sb.append("<celldesigner:speciesAlias ");
     sb.append("id=\"" + species.getElementId() + "\" ");
     sb.append("species=\"" + elements.getElementId(species) + "\" ");
-    if (compartmentAliasId != null) {
-      sb.append("compartmentAlias=\"" + compartmentAliasId + "\" ");
-    }
 
     if (complex != null) {
       sb.append("complexSpeciesAlias=\"" + complex.getElementId() + "\" ");
+    } else if (compartmentAliasId != null) {
+      // you cannot have both if there are both then CellDesigner behaves improperly
+      sb.append("compartmentAlias=\"" + compartmentAliasId + "\" ");
     }
     sb.append(">\n");