diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/UserCommentsAndRatingsController.java b/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/UserCommentsAndRatingsController.java
index 9a85c8ecb55103a4392f80a859f2b6c9ec83d7d7..85839d0a487b5ce01b23c53c32b14687243c98c5 100644
--- a/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/UserCommentsAndRatingsController.java
+++ b/src/main/java/org/olat/core/commons/services/commentAndRating/impl/ui/UserCommentsAndRatingsController.java
@@ -299,8 +299,8 @@ public class UserCommentsAndRatingsController extends BasicController implements
 			UserCommentsCountChangedEvent changedEvent = (UserCommentsCountChangedEvent) event;
 			if (!changedEvent.isSentByMyself(this) && !canExpandToFullView) {
 				// Update counter in GUI, but only when in minimized mode (otherwise might confuse user)
-				if ( (this.oresSubPath == null && changedEvent.getOresSubPath() == null)
-					|| this.oresSubPath.equals(changedEvent.getOresSubPath()) ) {
+				if ( (oresSubPath == null && changedEvent.getOresSubPath() == null)
+					|| (oresSubPath != null && oresSubPath.equals(changedEvent.getOresSubPath()))) {
 					updateCommentCountView();					
 				}
 			}
@@ -308,8 +308,8 @@ public class UserCommentsAndRatingsController extends BasicController implements
 			UserRatingChangedEvent changedEvent = (UserRatingChangedEvent) event;
 			// Update rating in GUI
 			if (!changedEvent.isSentByMyself(this)) {
-				if ( (this.oresSubPath == null && changedEvent.getOresSubPath() == null)
-					|| this.oresSubPath.equals(changedEvent.getOresSubPath()) ) {
+				if ( (oresSubPath == null && changedEvent.getOresSubPath() == null)
+					|| (oresSubPath != null && oresSubPath.equals(changedEvent.getOresSubPath()))) {
 					updateRatingView();
 				}
 			}
diff --git a/src/main/java/org/olat/core/util/mail/manager/MailManager.java b/src/main/java/org/olat/core/util/mail/manager/MailManager.java
index 81bcf376b3704ce39f4eaf51f1a95e818616ae6e..3e8d3ad239c0a1b3af2634635054e42b7955fad4 100644
--- a/src/main/java/org/olat/core/util/mail/manager/MailManager.java
+++ b/src/main/java/org/olat/core/util/mail/manager/MailManager.java
@@ -1209,7 +1209,12 @@ public class MailManager extends BasicManager {
 			} else if (mailModule.isMailHostEnabled() && result.getReturnCode() == MailerResult.OK) {
 				// now send the mail
 				if(Settings.isDebuging()) {
-					logInfo("E-mail send: " + msg.getSubject());
+					try {
+						logInfo("E-mail send: " + msg.getSubject());
+						logInfo("Content    : " + msg.getContent());
+					} catch (IOException e) {
+						logError("", e);
+					}
 				}
 				Transport.send(msg);
 			} else {
diff --git a/src/main/java/org/olat/course/member/MembersOverviewController.java b/src/main/java/org/olat/course/member/MembersOverviewController.java
index 49970190ae4ce37d4f77601aaa7587ce6f87b1c4..5a73423b33c3be3756aee294986ebcfd3bf6cf7b 100644
--- a/src/main/java/org/olat/course/member/MembersOverviewController.java
+++ b/src/main/java/org/olat/course/member/MembersOverviewController.java
@@ -274,7 +274,7 @@ public class MembersOverviewController extends BasicController implements Activa
 		MailTemplate template = (MailTemplate)runContext.get("mailTemplate");
 		//commit changes to the repository entry
 		MailerResult result = new MailerResult();
-		MailPackage reMailing = new MailPackage(result, getWindowControl().getBusinessControl().getAsString(), template != null);
+		MailPackage reMailing = new MailPackage(template, result, getWindowControl().getBusinessControl().getAsString(), template != null);
 		
 		List<RepositoryEntryPermissionChangeEvent> repoChanges = changes.generateRepositoryChanges(members);
 		repositoryManager.updateRepositoryEntryMembership(getIdentity(), ureq.getUserSession().getRoles(), repoEntry, repoChanges, reMailing);
diff --git a/src/main/java/org/olat/group/ui/main/AbstractMemberListController.java b/src/main/java/org/olat/group/ui/main/AbstractMemberListController.java
index 3b7e85ee0d5d4bfe6724888db9a7cdb1fe00ff04..b97b17a747d169937f274ca06b8c92cf28694613 100644
--- a/src/main/java/org/olat/group/ui/main/AbstractMemberListController.java
+++ b/src/main/java/org/olat/group/ui/main/AbstractMemberListController.java
@@ -429,13 +429,6 @@ public abstract class AbstractMemberListController extends BasicController imple
 		businessGroupService.updateMemberships(getIdentity(), e.getGroupChanges(), mailing);
 		//make sure all is committed before loading the model again (I see issues without)
 		DBFactory.getInstance().commitAndCloseSession();
-		
-		/*if(sendMail && e.getGroupChanges() != null && !e.getGroupChanges().isEmpty()) {
-			for (BusinessGroupMembershipChange mod : e.getGroupChanges()) {
-				sendMailAfterChangePermission(mod);
-			}
-		}*/
-
 		reloadModel();
 	}
 	
@@ -493,7 +486,7 @@ public abstract class AbstractMemberListController extends BasicController imple
 	protected void doLeave(List<Identity> members, boolean sendMail) {
 		MailPackage mailing = new MailPackage(sendMail);
 		if(repoEntry != null) {
-			repositoryManager.removeMembers(members, repoEntry);
+			repositoryManager.removeMembers(getIdentity(), members, repoEntry, mailing);
 			businessGroupService.removeMembers(getIdentity(), members, repoEntry.getOlatResource(), mailing);
 		} else {
 			businessGroupService.removeMembers(getIdentity(), members, businessGroup.getResource(), mailing);
diff --git a/src/main/java/org/olat/repository/RepositoryManager.java b/src/main/java/org/olat/repository/RepositoryManager.java
index 9a658d7897dab992d063c2ac76da269c62b31cbf..45e02e8a2bc799c56d23105a4e50e9d192ac9b2e 100644
--- a/src/main/java/org/olat/repository/RepositoryManager.java
+++ b/src/main/java/org/olat/repository/RepositoryManager.java
@@ -1879,7 +1879,7 @@ public class RepositoryManager extends BasicManager {
 	 * @param members
 	 * @param re
 	 */
-	public boolean removeMembers(List<Identity> members, RepositoryEntry re) {
+	public boolean removeMembers(Identity ureqIdentity, List<Identity> members, RepositoryEntry re, MailPackage mailing) {
 		List<SecurityGroup> secGroups = new ArrayList<SecurityGroup>();
 		if(re.getOwnerGroup() != null) {
 			secGroups.add(re.getOwnerGroup());
@@ -1908,8 +1908,12 @@ public class RepositoryManager extends BasicManager {
 				reservationDao.deleteReservation(reservation);
 			}
 		}
-		
-		return securityManager.removeIdentityFromSecurityGroups(members, secGroups);
+
+		boolean allOk = securityManager.removeIdentityFromSecurityGroups(members, secGroups);
+		for(Identity identity:members) {
+			RepositoryMailing.sendEmail(ureqIdentity, identity, re, RepositoryMailing.Type.removeParticipant, mailing, mailer);
+		}
+		return allOk;
 	}
 
 	/**
diff --git a/src/main/resources/serviceconfig/org/olat/_spring/extensionContext.xml b/src/main/resources/serviceconfig/org/olat/_spring/extensionContext.xml
index b55ee243cc469a642e72801d9521c4acde13ca3f..fad4b0ab537ae19a67a66a2d2a32402396d4af2d 100644
--- a/src/main/resources/serviceconfig/org/olat/_spring/extensionContext.xml
+++ b/src/main/resources/serviceconfig/org/olat/_spring/extensionContext.xml
@@ -141,7 +141,7 @@
 					<property name="className" value="org.olat.admin.sysinfo.HibernateStatisticsController"/>
 				</bean>
 			</property>
-			<property name="navigationKey" value="locks" />
+			<property name="navigationKey" value="hibernate" />
 			<property name="parentTreeNodeIdentifier" value="systemParent" /> 
 			<property name="translationPackage" value="org.olat.admin"/>
 			<property name="i18nActionKey" value="menu.hibernate"/>
@@ -161,7 +161,7 @@
 					<property name="className" value="org.olat.admin.sysinfo.JavaVMController"/>
 				</bean>
 			</property>
-			<property name="navigationKey" value="locks" />
+			<property name="navigationKey" value="javavm" />
 			<property name="parentTreeNodeIdentifier" value="systemParent" /> 
 			<property name="translationPackage" value="org.olat.admin"/>
 			<property name="i18nActionKey" value="menu.javavm"/>