diff --git a/plugins/org.eclipse.sirius.ecore.extender/src/org/eclipse/sirius/ecore/extender/business/internal/accessor/ecore/EcoreIntrinsicExtender.java b/plugins/org.eclipse.sirius.ecore.extender/src/org/eclipse/sirius/ecore/extender/business/internal/accessor/ecore/EcoreIntrinsicExtender.java
index c4cdda0..1ac76d2 100644
--- a/plugins/org.eclipse.sirius.ecore.extender/src/org/eclipse/sirius/ecore/extender/business/internal/accessor/ecore/EcoreIntrinsicExtender.java
+++ b/plugins/org.eclipse.sirius.ecore.extender/src/org/eclipse/sirius/ecore/extender/business/internal/accessor/ecore/EcoreIntrinsicExtender.java
@@ -42,6 +42,7 @@
 import com.google.common.collect.Iterables;
 import com.google.common.collect.Iterators;
 import com.google.common.collect.Multimap;
+import com.google.common.collect.Sets;
 
 /**
  * This metamodel Extender accesses the intrinsic data of an EObject.
@@ -433,10 +434,11 @@
 
     @Override
     public void updateMetamodels(final Collection<? extends MetamodelDescriptor> metamodelDescriptors) {
+        final Collection<? extends MetamodelDescriptor> metamodelDescriptorsCopy = Sets.newLinkedHashSet(metamodelDescriptors);        
         if (lastDescriptors != null) {
-            metamodelDescriptors.removeAll(lastDescriptors);
+            metamodelDescriptorsCopy.removeAll(lastDescriptors);
         }
-        final Iterator<? extends MetamodelDescriptor> it = metamodelDescriptors.iterator();
+        final Iterator<? extends MetamodelDescriptor> it = metamodelDescriptorsCopy.iterator();
         while (it.hasNext()) {
             final Object obj = it.next();
             if (obj instanceof EcoreMetamodelDescriptor) {
@@ -451,7 +453,7 @@
             }
 
         }
-        lastDescriptors = metamodelDescriptors;
+        lastDescriptors = metamodelDescriptorsCopy;
 
     }
 
