diff --git a/src/main/java/org/olat/course/nodes/projectbroker/service/ProjectBrokerManagerImpl.java b/src/main/java/org/olat/course/nodes/projectbroker/service/ProjectBrokerManagerImpl.java
index 37f275e82d2d08f57e2ea1926da6726e9b85bf9f..ad3c8fdf9dea1396c9e50a14d3d663bc3452b666 100644
--- a/src/main/java/org/olat/course/nodes/projectbroker/service/ProjectBrokerManagerImpl.java
+++ b/src/main/java/org/olat/course/nodes/projectbroker/service/ProjectBrokerManagerImpl.java
@@ -254,31 +254,33 @@ public class ProjectBrokerManagerImpl extends BasicManager implements ProjectBro
 	 * This method is cluster-save.
 	 * @see org.olat.course.nodes.projectbroker.service.ProjectBrokerManager#deleteProject(org.olat.course.nodes.projectbroker.datamodel.Project)
 	 */
+	@Override
 	public void deleteProject(final Project project, final boolean deleteGroup, final CourseEnvironment courseEnv, final CourseNode cNode) {
 		logDebug("start deleteProject project=" + project);
-		final Long projectBrokerId = project.getProjectBroker().getKey();
-		OLATResourceable projectBrokerOres = OresHelper.createOLATResourceableInstance(this.getClass(),projectBrokerId);
-		CoordinatorManager.getInstance().getCoordinator().getSyncer().doInSync( projectBrokerOres, new SyncerExecutor() {
-			public void execute() {
-				Project reloadedProject = (Project) dbInstance.loadObject(project, true);
-				// delete first candidate-group, project-group will be deleted after deleting project
-				SecurityGroup candidateGroup = reloadedProject.getCandidateGroup();
-				if ( (courseEnv != null) && (cNode != null) ) {
-					deleteAllAttachmentFilesOfProject(reloadedProject, courseEnv, cNode);
-					deleteAllDropboxFilesOfProject(reloadedProject, courseEnv, cNode);
-					deleteAllReturnboxFilesOfProject(reloadedProject, courseEnv, cNode);
-				}
-				dbInstance.deleteObject(reloadedProject);
-				logInfo("deleteSecurityGroup(project.getCandidateGroup())=" + candidateGroup.getKey());
-				securityManager.deleteSecurityGroup(candidateGroup);
-				// invalide with removing from cache
-				projectCache.remove(projectBrokerId.toString());
+		Long projectBrokerId = project.getProjectBroker().getKey();
+		OLATResourceable projectBrokerOres = OresHelper.createOLATResourceableInstance(this.getClass(), projectBrokerId);
+
+		CoordinatorManager.getInstance().getCoordinator().getSyncer().doInSync( projectBrokerOres, () -> {
+			Project reloadedProject = (Project) dbInstance.loadObject(project, true);
+			BusinessGroup projectGroup = reloadedProject.getProjectGroup();
+			// delete first candidate-group, project-group will be deleted after deleting project
+			SecurityGroup candidateGroup = reloadedProject.getCandidateGroup();
+			if ( (courseEnv != null) && (cNode != null) ) {
+				deleteAllAttachmentFilesOfProject(reloadedProject, courseEnv, cNode);
+				deleteAllDropboxFilesOfProject(reloadedProject, courseEnv, cNode);
+				deleteAllReturnboxFilesOfProject(reloadedProject, courseEnv, cNode);
+			}
+			dbInstance.deleteObject(reloadedProject);
+			logInfo("deleteSecurityGroup(project.getCandidateGroup())=" + candidateGroup.getKey());
+			securityManager.deleteSecurityGroup(candidateGroup);
+			// invalide with removing from cache
+			projectCache.remove(projectBrokerId.toString());
+			if (deleteGroup) {
+				logDebug("start deleteProjectGroupFor project group=" + projectGroup);
+				businessGroupService.deleteBusinessGroup(projectGroup);
 			}
 		});
-		if (deleteGroup) {
-			logDebug("start deleteProjectGroupFor project=" + project);
-			projectGroupManager.deleteProjectGroupFor(project);
-		}
+		
 		logDebug("DONE deleteProjectGroupFor project=" + project);
 	}
 
diff --git a/src/main/java/org/olat/course/nodes/projectbroker/service/ProjectGroupManager.java b/src/main/java/org/olat/course/nodes/projectbroker/service/ProjectGroupManager.java
index 777c557eb8d1e3ca2170b8ca3e6d0ae1abbb4177..57243d8b03dc1c8c28565f348c4904a5c3468487 100644
--- a/src/main/java/org/olat/course/nodes/projectbroker/service/ProjectGroupManager.java
+++ b/src/main/java/org/olat/course/nodes/projectbroker/service/ProjectGroupManager.java
@@ -146,7 +146,7 @@ public interface ProjectGroupManager {
 	 * @param project
 	 * @return
 	 */
-	public abstract List<Identity> addCandidates(List<Identity> addIdentities, Project project);
+	public List<Identity> addCandidates(List<Identity> addIdentities, Project project);
 
 	/**
 	 * Remove identities as candidates.
@@ -161,7 +161,7 @@ public interface ProjectGroupManager {
 	 * @param courseResourceableId
 	 * @param identity
 	 */
-	public abstract void sendGroupChangeEvent(Project project, Long courseResourceableId, Identity identity);
+	public void sendGroupChangeEvent(Project project, Long courseResourceableId, Identity identity);
 
 	/**
 	 * Accept all candidates for a project broker as participants. 
@@ -170,14 +170,14 @@ public interface ProjectGroupManager {
 	 * @param autoSignOut
 	 * @param isAcceptSelectionManually
 	 */
-	public abstract void acceptAllCandidates(Long projectBrokerId, Identity actionIdentity, boolean autoSignOut, boolean isAcceptSelectionManually);
+	public void acceptAllCandidates(Long projectBrokerId, Identity actionIdentity, boolean autoSignOut, boolean isAcceptSelectionManually);
 
   /**
    * Returns true when a certain project-broker has any candidates in any of his projects
    * @param projectBrokerId
    * @return
    */
-	public abstract boolean hasProjectBrokerAnyCandidates(Long projectBrokerId);
+	public boolean hasProjectBrokerAnyCandidates(Long projectBrokerId);
 	
 	/**
 	 * Check if a certain identity has the role of project-manager for certain project.   
diff --git a/src/main/java/org/olat/course/nodes/projectbroker/service/ProjectGroupManagerImpl.java b/src/main/java/org/olat/course/nodes/projectbroker/service/ProjectGroupManagerImpl.java
index 895c29cda27fe5c28b2e0702e69cde7828e18078..3589312976abe152ad900dc36572da223150d29c 100644
--- a/src/main/java/org/olat/course/nodes/projectbroker/service/ProjectGroupManagerImpl.java
+++ b/src/main/java/org/olat/course/nodes/projectbroker/service/ProjectGroupManagerImpl.java
@@ -185,6 +185,7 @@ public class ProjectGroupManagerImpl implements ProjectGroupManager {
 		return false;
 	}
 
+	@Override
 	public void deleteAccountManagerGroup( CoursePropertyManager cpm, CourseNode courseNode) {
 		log.debug("deleteAccountManagerGroup start...");
   	Property accountManagerGroupProperty = cpm.findCourseNodeProperty(courseNode, null, null, ProjectBrokerCourseNode.CONF_ACCOUNTMANAGER_GROUP_KEY);
@@ -245,8 +246,7 @@ public class ProjectGroupManagerImpl implements ProjectGroupManager {
 
 	@Override
 	public void deleteProjectGroupFor(Project project) {
-		BusinessGroupService bgs = businessGroupService;
-		bgs.deleteBusinessGroup(project.getProjectGroup());
+		businessGroupService.deleteBusinessGroup(project.getProjectGroup());
 	}
 	
 	/**
@@ -256,9 +256,8 @@ public class ProjectGroupManagerImpl implements ProjectGroupManager {
 	 */
 	@Override
 	public BusinessGroup changeProjectGroupName(Identity ureqIdentity, BusinessGroup projectGroup, String groupName, String groupDescription, OLATResource courseResource) {
-		BusinessGroupService bgs = businessGroupService;
-		BusinessGroup reloadedBusinessGroup = bgs.loadBusinessGroup(projectGroup);
-		return bgs.updateBusinessGroup(ureqIdentity, reloadedBusinessGroup, groupName, groupDescription,
+		BusinessGroup reloadedBusinessGroup = businessGroupService.loadBusinessGroup(projectGroup);
+		return businessGroupService.updateBusinessGroup(ureqIdentity, reloadedBusinessGroup, groupName, groupDescription,
 				reloadedBusinessGroup.getExternalId(), reloadedBusinessGroup.getManagedFlagsString(),
 				reloadedBusinessGroup.getMinParticipants(), reloadedBusinessGroup.getMaxParticipants());
 	}