diff --git a/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/service/ModelExtractionService.java b/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/service/ModelExtractionService.java
index 264b243e9587f2f24e7b192743d343a8a04cdace..e55572960b24eb2afb0e2cdfa0c66563870487e6 100644
--- a/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/service/ModelExtractionService.java
+++ b/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/service/ModelExtractionService.java
@@ -560,8 +560,9 @@ public class ModelExtractionService extends AgentController implements Service<M
 				((ApplicationScope) getContainerScope()).getApplication().getInterfaceProvidingRoles(),
 				systemProvidingRole);
 		if (systemProvidingRole != null) {
+			systemProvidingRole = ModelSkeletonUtil.adopt(this, systemProvidingRole);
 			skeleton.getSystem().getInterfaceProvidingRoles()
-					.add(ModelSkeletonUtil.adopt(this, systemProvidingRole));
+					.add(systemProvidingRole);
 
 			ProvidingDelegationConnector systemProvidingConnector = RepositoryFactory.eINSTANCE
 					.createProvidingDelegationConnector();
@@ -581,6 +582,7 @@ public class ModelExtractionService extends AgentController implements Service<M
 					((ApplicationScope) getContainerScope()).getApplication().getInterfaceRequiringRoles(),
 					systemRequiringRole);
 			if (systemRequiringRole != null) {
+				systemRequiringRole = ModelSkeletonUtil.adopt(this, systemRequiringRole);
 				skeleton.getSystem().getInterfaceRequiringRoles()
 						.add(ModelSkeletonUtil.adopt(this, systemRequiringRole));