diff --git a/src/main/java/org/olat/portfolio/manager/InvitationDAO.java b/src/main/java/org/olat/portfolio/manager/InvitationDAO.java
index e29e750efe277c2cecabab9683b2af7f7bc73986..cfba3cf6a7acb25fbf534cb868f2e31710abf38c 100644
--- a/src/main/java/org/olat/portfolio/manager/InvitationDAO.java
+++ b/src/main/java/org/olat/portfolio/manager/InvitationDAO.java
@@ -303,7 +303,7 @@ public class InvitationDAO {
 		cal.add(Calendar.HOUR, -6);
 		Date dateLimit = cal.getTime();
 
-		StringBuilder sb = new StringBuilder();
+		StringBuilder sb = new StringBuilder(512);
 		sb.append("select invitation from ").append(InvitationImpl.class.getName()).append(" as invitation ")
 		  .append(" inner join invitation.baseGroup baseGroup ")
 		  .append(" where invitation.creationDate<:dateLimit")//someone can create an invitation but not add it to a policy within millisecond
@@ -331,15 +331,17 @@ public class InvitationDAO {
 			//normally only one identity
 			for(Identity identity:identities) {
 				if(identity.getStatus().compareTo(Identity.STATUS_VISIBLE_LIMIT) >= 0) {
-	  			//already deleted
+					//already deleted
 				} else if(securityManager.isIdentityInSecurityGroup(identity, olatUserSecGroup)) {
-	  			//out of scope
+					//out of scope
 				} else {
-	  			//delete user
+					//delete user
 					UserDeletionManager.getInstance().deleteIdentity(identity);
 				}
 			}
-			dbInstance.getCurrentEntityManager().remove(invitation);
+			Invitation invitationRef = dbInstance.getCurrentEntityManager()
+				.getReference(InvitationImpl.class, invitation.getKey());
+			dbInstance.getCurrentEntityManager().remove(invitationRef);
 			dbInstance.commit();
 		}
 	}
diff --git a/src/test/java/org/olat/portfolio/manager/InvitationDAOTest.java b/src/test/java/org/olat/portfolio/manager/InvitationDAOTest.java
index ce0dd0e13fc930af656fb361c65f80a1d20c1fec..3a351d06a32efcce3356af1233c395e613d39296 100644
--- a/src/test/java/org/olat/portfolio/manager/InvitationDAOTest.java
+++ b/src/test/java/org/olat/portfolio/manager/InvitationDAOTest.java
@@ -213,12 +213,11 @@ public class InvitationDAOTest extends OlatTestCase {
 		
 		//clean the invitations
 		invitationDao.cleanUpInvitations();
+		dbInstance.commitAndCloseSession();
 		
 		//check that the invitation not was not deleted
 		boolean afterVisible = epFrontendManager.isMapVisible(invitee, map.getOlatResource());
 		Assert.assertTrue(afterVisible);
 	}
-	
-	
 
 }