diff --git a/org.eventb.texttools/src/org/eventb/texttools/PersistenceHelper.java b/org.eventb.texttools/src/org/eventb/texttools/PersistenceHelper.java
index d74d389afb9298f9b912e1c5bf23e94ef7a0ad7f..0a6eee0e3096656759a1b3b4a71111b6cc827b1e 100644
--- a/org.eventb.texttools/src/org/eventb/texttools/PersistenceHelper.java
+++ b/org.eventb.texttools/src/org/eventb/texttools/PersistenceHelper.java
@@ -7,6 +7,7 @@
 package org.eventb.texttools;
 
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
@@ -21,6 +22,7 @@ import org.eclipse.emf.common.util.EMap;
 import org.eclipse.emf.common.util.URI;
 import org.eclipse.emf.compare.Comparison;
 import org.eclipse.emf.compare.Diff;
+import org.eclipse.emf.compare.DifferenceKind;
 import org.eclipse.emf.compare.EMFCompare;
 import org.eclipse.emf.compare.diff.DefaultDiffEngine;
 import org.eclipse.emf.compare.diff.IDiffEngine;
@@ -209,6 +211,8 @@ public class PersistenceHelper {
 		registry.add(evbMerger);
 		BatchMerger bm = new BatchMerger(registry);
 
+		differences = filter(differences);
+
 		bm.copyAllRightToLeft(differences, null);
 
 		long time2 = System.currentTimeMillis();
@@ -218,6 +222,22 @@ public class PersistenceHelper {
 		}
 	}
 
+	// for some reasons, there are still problematic diffs:
+	// usually, they can be identified as follows:
+	// 1. right = null, i.e. Camille does not hold this element
+	// 2. ADD, i.e. the "nothing" coming from Camille is added to the EMF model
+	// => we drop the diff before we screw up the database
+	// Obvoiusly it would be better not to generate the diff at all....
+	private static List<Diff> filter(List<Diff> differences) {
+		List<Diff> newList = new ArrayList<Diff>();
+		for (Diff d : differences) {
+			if (!(d.getKind() == DifferenceKind.ADD && d.getMatch().getRight() == null)) {
+				newList.add(d);
+			}
+		}
+		return newList;
+	}
+
 	public static void mergeRootElement(final Resource resource,
 			final EventBNamedCommentedComponentElement newVersion,
 			final IProgressMonitor monitor) {