diff --git a/bundles/org.eclipse.capra.generic.tracemodel/src/org/eclipse/capra/generic/tracemodel/GenericMetaModelAdapter.java b/bundles/org.eclipse.capra.generic.tracemodel/src/org/eclipse/capra/generic/tracemodel/GenericMetaModelAdapter.java
index 7b34a0b..56ea5d7 100644
--- a/bundles/org.eclipse.capra.generic.tracemodel/src/org/eclipse/capra/generic/tracemodel/GenericMetaModelAdapter.java
+++ b/bundles/org.eclipse.capra.generic.tracemodel/src/org/eclipse/capra/generic/tracemodel/GenericMetaModelAdapter.java
@@ -22,6 +22,7 @@
 import org.eclipse.capra.core.adapters.TraceMetaModelAdapter;
 import org.eclipse.capra.core.adapters.TracePersistenceAdapter;
 import org.eclipse.capra.core.helpers.ArtifactHelper;
+import org.eclipse.capra.core.helpers.EMFHelper;
 import org.eclipse.capra.core.helpers.ExtensionPointHelper;
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EObject;
@@ -39,7 +40,6 @@
 
 	private static final int DEFAULT_INITIAL_TRANSITIVITY_DEPTH = 1;
 
-
 	public GenericMetaModelAdapter() {
 		// TODO Auto-generated constructor stub
 	}
@@ -91,7 +91,8 @@
 
 		for (RelatedTo trace : allTraces) {
 			if (!firstElement.equals(secondElement)) {
-				if (trace.getItem().contains(firstElement) && trace.getItem().contains(secondElement)) {
+				if (EMFHelper.isElementInList(trace.getItem(), firstElement)
+						&& EMFHelper.isElementInList(trace.getItem(), secondElement)) {
 					relevantLinks.add(trace);
 				}
 			}
@@ -203,9 +204,10 @@
 			for (Object trace : toRemove) {
 				tModel.getTraces().remove(trace);
 			}
-			
+
 			TracePersistenceAdapter persistenceAdapter = ExtensionPointHelper.getTracePersistenceAdapter().get();
-			persistenceAdapter.saveTracesAndArtifacts(tModel, persistenceAdapter.getArtifactWrappers(new ResourceSetImpl()));
+			persistenceAdapter.saveTracesAndArtifacts(tModel,
+					persistenceAdapter.getArtifactWrappers(new ResourceSetImpl()));
 		}
 	}
 
