[508297] XMI idref reading error in specific case
diff --git a/plugins/org.eclipse.emf.ecore.xmi/src/org/eclipse/emf/ecore/xmi/impl/XMIHandler.java b/plugins/org.eclipse.emf.ecore.xmi/src/org/eclipse/emf/ecore/xmi/impl/XMIHandler.java
index e5eb203..f814c7c 100644
--- a/plugins/org.eclipse.emf.ecore.xmi/src/org/eclipse/emf/ecore/xmi/impl/XMIHandler.java
+++ b/plugins/org.eclipse.emf.ecore.xmi/src/org/eclipse/emf/ecore/xmi/impl/XMIHandler.java
@@ -121,7 +121,7 @@
       {
         if (eReference.isMany())
         {
-          if (eReference.isResolveProxies())
+          if (eReference.isResolveProxies() && (!eReference.getEReferenceType().isAbstract() || getXSIType() != null))
           {
             super.createObject(peekObject, feature);
             return;