diff --git a/src/main/java/org/olat/fileresource/FileResourceManager.java b/src/main/java/org/olat/fileresource/FileResourceManager.java
index 184628703f222dda139c4f07af6e80c644bd5948..7d4de122c2a3b5dc03553cd695c0e779496281c2 100644
--- a/src/main/java/org/olat/fileresource/FileResourceManager.java
+++ b/src/main/java/org/olat/fileresource/FileResourceManager.java
@@ -40,8 +40,6 @@ import org.olat.core.util.coordinate.SyncerCallback;
 import org.olat.core.util.vfs.VFSContainer;
 import org.olat.core.util.vfs.VFSItem;
 import org.olat.fileresource.types.FileResource;
-import org.olat.resource.OLATResource;
-import org.olat.resource.OLATResourceManager;
 
 /**
  * Initial Date: Apr 8, 2004
@@ -74,10 +72,6 @@ public class FileResourceManager extends BasicManager {
 		// delete resources
 		File fResourceFileroot = getFileResourceRoot(res);
 		FileUtils.deleteDirsAndFiles(fResourceFileroot, true, true);
-		// delete resourceable
-		OLATResourceManager rm = OLATResourceManager.getInstance();
-		OLATResource ores = rm.findResourceable(res);
-		if (ores != null) rm.deleteOLATResource(ores);
 	}
 
 	/**
diff --git a/src/main/java/org/olat/repository/manager/RepositoryServiceImpl.java b/src/main/java/org/olat/repository/manager/RepositoryServiceImpl.java
index 9a13d077a8dabd04fc7548e51aaa851861648120..ac23400c22e7c43bcc7e0f1b9d466b1f53cd03e2 100644
--- a/src/main/java/org/olat/repository/manager/RepositoryServiceImpl.java
+++ b/src/main/java/org/olat/repository/manager/RepositoryServiceImpl.java
@@ -254,6 +254,7 @@ public class RepositoryServiceImpl implements RepositoryService {
 		
 		//delete all policies
 		securityManager.deletePolicies(resource);
+		dbInstance.commit();
 		
 		// inform handler to do any cleanup work... handler must delete the
 		// referenced resourceable a swell.
@@ -276,7 +277,8 @@ public class RepositoryServiceImpl implements RepositoryService {
 	public void deleteRepositoryEntryAndBaseGroups(RepositoryEntry entry) {
 		RepositoryEntry reloadedEntry = dbInstance.getCurrentEntityManager()
 				.getReference(RepositoryEntry.class, entry.getKey());
-		
+		OLATResource resource = reloadedEntry.getOlatResource();
+
 		Group defaultGroup = reToGroupDao.getDefaultGroup(reloadedEntry);
 		groupDao.removeMemberships(defaultGroup);
 		reToGroupDao.removeRelations(reloadedEntry);
@@ -284,6 +286,9 @@ public class RepositoryServiceImpl implements RepositoryService {
 		dbInstance.getCurrentEntityManager().remove(reloadedEntry);
 		groupDao.removeGroup(defaultGroup);
 		dbInstance.commit();
+
+		dbInstance.getCurrentEntityManager().remove(resource);
+		dbInstance.commit();
 	}
 
 	@Override