diff --git a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/rest/OrganisationRestService.java b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/rest/OrganisationRestService.java
index 20ba70a..0a9456a 100644
--- a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/rest/OrganisationRestService.java
+++ b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/rest/OrganisationRestService.java
@@ -42,7 +42,7 @@
 public class OrganisationRestService extends BaseResource {
 
 	@Autowired
-	private OrganisationController organisationController;
+	private OrganisationController oCo;
 
 	public OrganisationRestService() {
 		super(Logger.getLogger(OrganisationRestService.class.getName()), new FileHelper());
@@ -53,7 +53,7 @@
 	public Response getOrganisations(
 			@ApiParam(name = "Authorization", value = "JWT Token", required = true) @HeaderParam(value = Globals.KEYCLOAK_AUTH_TAG) String jwt) {
 
-		ModifyingInvokable<List<OrganisationDto>> invokable = modusr -> organisationController.getOrganisations();
+		ModifyingInvokable<List<OrganisationDto>> invokable = modusr -> oCo.getOrganisations();
 
 		String[] securityRoles = Globals.getAllRolls();
 
@@ -65,9 +65,7 @@
 	public Response getOrganisationSelection(
 			@ApiParam(name = "Authorization", value = "JWT Token", required = true) @HeaderParam(value = Globals.KEYCLOAK_AUTH_TAG) String jwt) {
 
-		ModifyingInvokable<List<OrganisationSelectionDto>> invokable = modusr -> organisationController
-				.getOrganisationsSelection();
-
+		ModifyingInvokable<List<OrganisationSelectionDto>> invokable = modusr -> oCo.getOrganisationsSelection();
 		String[] securityRoles = Globals.getAllRolls();
 
 		return invokeRunnable(jwt, securityRoles, invokable);
@@ -78,7 +76,7 @@
 	public Response getOrganisation(@PathParam("id") Long id,
 			@ApiParam(name = "Authorization", value = "JWT Token", required = true) @HeaderParam(value = Globals.KEYCLOAK_AUTH_TAG) String jwt) {
 
-		ModifyingInvokable<OrganisationDto> invokable = modusr -> organisationController.getOrganisation(id);
+		ModifyingInvokable<OrganisationDto> invokable = modusr -> oCo.getOrganisation(id);
 
 		String[] securityRoles = Globals.getAllRolls();
 
@@ -93,8 +91,7 @@
 			@ApiParam(name = "Authorization", value = "JWT Token", required = true) @HeaderParam(value = Globals.KEYCLOAK_AUTH_TAG) String jwt,
 			@Valid OrganisationDto organisationDto) {
 
-		ModifyingInvokable<OrganisationDto> invokable = modusr -> organisationController
-				.saveOrganisation(organisationDto);
+		ModifyingInvokable<OrganisationDto> invokable = modusr -> oCo.saveOrganisation(organisationDto);
 
 		String[] securityRoles = { Globals.KEYCLOAK_ROLE_BP_SACHBEARBEITER, Globals.KEYCLOAK_ROLE_BP_ADMIN };
 
