diff --git a/uk/ac/sanger/artemis/chado/ChadoTransactionManager.java b/uk/ac/sanger/artemis/chado/ChadoTransactionManager.java
index 4efbd26627c7dd398e6bcb9ecac431e3b34ff7f4..bbe056739ca22aeb69897f9105875418147b5c7e 100644
--- a/uk/ac/sanger/artemis/chado/ChadoTransactionManager.java
+++ b/uk/ac/sanger/artemis/chado/ChadoTransactionManager.java
@@ -2901,8 +2901,12 @@ public class ChadoTransactionManager
 
       if(ind > -1)
       {
-        sv.remove(ind);
-        sv.add(ind, qual+";qualifier="+qStr);
+        // avoid duplicating a history qualifier
+        if(qStr.indexOf(msg+";") == -1 && !qStr.endsWith(msg))
+        {
+          sv.remove(ind);
+          sv.add(ind, qual+";qualifier="+qStr);
+        }
       }
       else
         sv.add(qual);