diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelComparator.java
index 2cbb637eb904b5c1cce28d186b455995dcb48403..8295ce7a1587454b694caa77a7aa99a76fe086f1 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelComparator.java
@@ -13,6 +13,8 @@ import lcsb.mapviewer.common.comparator.DoubleComparator;
 import lcsb.mapviewer.common.comparator.IntegerComparator;
 import lcsb.mapviewer.common.comparator.SetComparator;
 import lcsb.mapviewer.common.comparator.StringComparator;
+import lcsb.mapviewer.model.map.MiriamData;
+import lcsb.mapviewer.model.map.MiriamDataComparator;
 import lcsb.mapviewer.model.map.kinetics.SbmlFunction;
 import lcsb.mapviewer.model.map.kinetics.SbmlFunctionComparator;
 import lcsb.mapviewer.model.map.kinetics.SbmlParameter;
@@ -148,6 +150,17 @@ public class ModelComparator extends Comparator<Model> {
       logger.debug("parameters different");
       return status;
     }
+
+    SetComparator<MiriamData> miriamDataSetComparator = new SetComparator<>(new MiriamDataComparator());
+
+    status = miriamDataSetComparator.compare(arg0.getMiriamData(), arg1.getMiriamData());
+    if (status != 0) {
+      logger.debug("miriam data different");
+      logger.debug(arg0.getMiriamData());
+      logger.debug(arg1.getMiriamData());
+      return status;
+    }
+
     return 0;
   }
 
diff --git a/model/src/main/java/lcsb/mapviewer/model/map/reaction/ReactionComparator.java b/model/src/main/java/lcsb/mapviewer/model/map/reaction/ReactionComparator.java
index 91900fa4e99a5b758c56f5136743fc122da92887..9635897c8ac447d1b1c91654ea7cdf8b5c564eee 100644
--- a/model/src/main/java/lcsb/mapviewer/model/map/reaction/ReactionComparator.java
+++ b/model/src/main/java/lcsb/mapviewer/model/map/reaction/ReactionComparator.java
@@ -1,8 +1,5 @@
 package lcsb.mapviewer.model.map.reaction;
 
-import java.util.HashSet;
-import java.util.Set;
-
 import org.apache.log4j.Logger;
 
 import lcsb.mapviewer.common.Comparator;
@@ -13,7 +10,6 @@ import lcsb.mapviewer.common.comparator.IntegerComparator;
 import lcsb.mapviewer.common.comparator.SetComparator;
 import lcsb.mapviewer.common.comparator.StringComparator;
 import lcsb.mapviewer.common.comparator.StringListComparator;
-import lcsb.mapviewer.common.comparator.StringSetComparator;
 import lcsb.mapviewer.model.map.MiriamData;
 import lcsb.mapviewer.model.map.MiriamDataComparator;
 import lcsb.mapviewer.model.map.kinetics.SbmlKineticsComparator;
diff --git a/model/src/test/java/lcsb/mapviewer/model/map/model/ModelComparatorTest.java b/model/src/test/java/lcsb/mapviewer/model/map/model/ModelComparatorTest.java
index c2baa22270230d405a116b002cf837cab7840cfb..878adb6632dc51e8a98e1667bd437468c509d746 100644
--- a/model/src/test/java/lcsb/mapviewer/model/map/model/ModelComparatorTest.java
+++ b/model/src/test/java/lcsb/mapviewer/model/map/model/ModelComparatorTest.java
@@ -415,4 +415,21 @@ public class ModelComparatorTest {
     }
   }
 
+  @Test
+  public void testCompareAnnotations() throws Exception {
+    try {
+      Model model1 = getModel();
+      Model model2 = getModel();
+      model1.addMiriamData(new MiriamData(MiriamType.CHEBI, "CHEBI:12345"));
+      assertTrue("Models have different annotations", comparator.compare(model1, model2) != 0);
+      assertTrue(comparator.compare(model2, model1) != 0);
+      model2.addMiriamData(new MiriamData(MiriamType.CHEBI, "CHEBI:12345"));
+      assertEquals(0, comparator.compare(model1, model2));
+      assertEquals(0, comparator.compare(model2, model1));
+    } catch (Exception e) {
+      e.printStackTrace();
+      throw e;
+    }
+  }
+
 }