diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/ElementComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/species/ElementComparator.java
index 5f57312dad2b67e5de11b5bd2a194c3bee34190a..4d6d35a87a27c1d514e467737f9eafa1d3ecd7ae 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/species/ElementComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/species/ElementComparator.java
@@ -84,8 +84,9 @@ public class ElementComparator implements Comparator<Element> {
 	}
 
 	/**
-	 * This method compares only the fields that are defined in {@link Element} class in
-	 * inheritence tree. By the design it is called by subclass comparator.
+	 * This method compares only the fields that are defined in {@link Element}
+	 * class in inheritence tree. By the design it is called by subclass
+	 * comparator.
 	 * 
 	 * @param arg0
 	 *          first object to compare
@@ -188,6 +189,12 @@ public class ElementComparator implements Comparator<Element> {
 			return stringComparator.compare(arg0.getFormula(), arg1.getFormula());
 		}
 
+		if (stringComparator.compare(arg0.getSemanticZoomLevelVisibility(), arg1.getSemanticZoomLevelVisibility()) != 0) {
+			logger.debug(
+					"SemanticZoomLevelVisibility different: \"" + arg0.getSemanticZoomLevelVisibility() + "\", \"" + arg1.getSemanticZoomLevelVisibility() + "\"");
+			return stringComparator.compare(arg0.getSemanticZoomLevelVisibility(), arg1.getSemanticZoomLevelVisibility());
+		}
+
 		StringSetComparator stringSetComparator = new StringSetComparator();
 		StringListComparator stringListComparator = new StringListComparator();