diff --git a/Fuzzy/org.eclipse.emf.emfstore.fuzzy.emf.test/src/org/eclipse/emf/emfstore/fuzzy/emf/test/FuzzyProjectTest.java b/Fuzzy/org.eclipse.emf.emfstore.fuzzy.emf.test/src/org/eclipse/emf/emfstore/fuzzy/emf/test/FuzzyProjectTest.java
index df73b57..98c9f0a 100644
--- a/Fuzzy/org.eclipse.emf.emfstore.fuzzy.emf.test/src/org/eclipse/emf/emfstore/fuzzy/emf/test/FuzzyProjectTest.java
+++ b/Fuzzy/org.eclipse.emf.emfstore.fuzzy.emf.test/src/org/eclipse/emf/emfstore/fuzzy/emf/test/FuzzyProjectTest.java
@@ -43,6 +43,7 @@
 import org.eclipse.emf.emfstore.internal.common.model.ModelElementId;
 import org.eclipse.emf.emfstore.internal.common.model.Project;
 import org.eclipse.emf.emfstore.internal.common.model.util.ModelUtil;
+import org.eclipse.emf.emfstore.internal.client.model.impl.WorkspaceBase;
 import org.eclipse.emf.emfstore.internal.client.model.impl.WorkspaceImpl;
 import org.eclipse.emf.emfstore.internal.modelmutator.api.ModelMutatorConfiguration;
 import org.junit.After;
@@ -102,9 +103,10 @@
 		new EMFStoreCommand() {
 			@Override
 			protected void doRun() {
-				projectSpace = ((ESLocalProjectImpl) ESWorkspaceProvider.INSTANCE.getWorkspace().createLocalProject("")).toInternalAPI();
+				ESWorkspaceImpl esWorkspaceImpl = (ESWorkspaceImpl) ESWorkspaceProvider.INSTANCE.getWorkspace();
+				projectSpace = ((ESLocalProjectImpl) esWorkspaceImpl.createLocalProject("")).toInternalAPI();
 				if (projectSpaceCopyNeeded()) {
-					copyProjectSpace = ((WorkspaceImpl) ESWorkspaceProvider.INSTANCE.getWorkspace()).cloneProject("", projectSpace.getProject());
+					copyProjectSpace = ((WorkspaceBase) esWorkspaceImpl.toInternalAPI()).cloneProject("", projectSpace.getProject());
 				}
 			}
 		}.run(false);
