diff --git a/src/main/scala/org/rosi_project/model_sync/generator/EcoreLoader.scala b/src/main/scala/org/rosi_project/model_sync/generator/EcoreLoader.scala
index 6bd33b84fa74494b769718936aa11b759e4c5bea..350de718158c9b7cd5516c26ebca0695ac1a80e5 100644
--- a/src/main/scala/org/rosi_project/model_sync/generator/EcoreLoader.scala
+++ b/src/main/scala/org/rosi_project/model_sync/generator/EcoreLoader.scala
@@ -1,13 +1,16 @@
 package org.rosi_project.model_sync.generator
 
+import org.eclipse.emf.common.util.URI
+import org.eclipse.emf.ecore.resource.Resource
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl
 import org.eclipse.emf.ecore.{EObject, EPackage}
-import scroll.internal.ecore.ECoreImporter
 
 /** Simple service to load an ECORE model from a file.
   *
   * @author Rico Bergmann
   */
-class EcoreLoader extends ECoreImporter {
+class EcoreLoader {
 
   /** Fetches an ecore model from XML.
     *
@@ -15,8 +18,13 @@ class EcoreLoader extends ECoreImporter {
     * @return the model described by the XML
     */
   def loadEcore(path: String = "assets/ttc17.ecore"): EPackage = {
-    this.path = path
-    val res = loadModel()
+    // see https://github.com/max-leuthaeuser/SCROLL/blob/dd269d5620257be1ea2f2044f398c090e9755fb3/core/src/main/scala/scroll/internal/ecore/ECoreImporter.scala
+    require(null != path && path.nonEmpty)
+    val resourceSet = new ResourceSetImpl()
+    val _ = resourceSet.getResourceFactoryRegistry.getExtensionToFactoryMap.put(Resource.Factory.Registry.DEFAULT_EXTENSION, new XMIResourceFactoryImpl())
+    val res = resourceSet.getResource(URI.createFileURI(path), true)
+    require(null != res)
+    require(!res.getContents.isEmpty)
     res.getContents.toArray(new Array[EObject](0)).toList.find(_.isInstanceOf[EPackage]).map((p: EObject) => p.asInstanceOf[EPackage]).orNull
   }