diff --git a/src/main/java/org/olat/group/manager/BusinessGroupServiceImpl.java b/src/main/java/org/olat/group/manager/BusinessGroupServiceImpl.java
index 30a5731295c394112efb5c742158e19c91549b96..826d46da6cddcd58abce280e8c6adcba00db5b3d 100644
--- a/src/main/java/org/olat/group/manager/BusinessGroupServiceImpl.java
+++ b/src/main/java/org/olat/group/manager/BusinessGroupServiceImpl.java
@@ -317,21 +317,24 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD
 	@Override
 	public BusinessGroup setLastUsageFor(final Identity identity, final BusinessGroup group) {
 		BusinessGroup reloadedBusinessGroup = businessGroupDAO.loadForUpdate(group.getKey());
-		reloadedBusinessGroup.setLastUsage(new Date());
-		if(identity != null) {
-			List<SecurityGroup> secGroups = new ArrayList<SecurityGroup>();
-			if(group.getOwnerGroup() != null) {
-				secGroups.add(group.getOwnerGroup());
-			}
-			if(group.getPartipiciantGroup() != null) {
-				secGroups.add(group.getPartipiciantGroup());
-			}
-			if(group.getWaitingGroup() != null) {
-				secGroups.add(group.getWaitingGroup());
+		BusinessGroup mergedGroup = null;
+		if(reloadedBusinessGroup != null) {
+			reloadedBusinessGroup.setLastUsage(new Date());
+			if(identity != null) {
+				List<SecurityGroup> secGroups = new ArrayList<SecurityGroup>();
+				if(group.getOwnerGroup() != null) {
+					secGroups.add(group.getOwnerGroup());
+				}
+				if(group.getPartipiciantGroup() != null) {
+					secGroups.add(group.getPartipiciantGroup());
+				}
+				if(group.getWaitingGroup() != null) {
+					secGroups.add(group.getWaitingGroup());
+				}
+				securityManager.touchMembership(identity, secGroups);
 			}
-			securityManager.touchMembership(identity, secGroups);
+			mergedGroup = businessGroupDAO.merge(reloadedBusinessGroup);
 		}
-		BusinessGroup mergedGroup = businessGroupDAO.merge(reloadedBusinessGroup);
 		dbInstance.commit();
 		return mergedGroup;
 	}