diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DeletionDAO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DeletionDAO.java
index c79805cf6712f8e50069e5be84046116bde6817a..0c2be91e5751e803444ef6d86b3e31b12969536c 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DeletionDAO.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DeletionDAO.java
@@ -188,6 +188,10 @@ final class DeletionDAO extends AbstractGenericEntityDAO<DeletionPE> implements
 
     public List<String> findTrashedDataSetCodes(final List<TechId> deletionIds)
     {
+        if (deletionIds.isEmpty())
+        {
+            return Collections.emptyList();
+        }
         final DetachedCriteria criteria =
                 DetachedCriteria.forClass(EntityKind.DATA_SET.getDeletedEntityClass());
         final List<Long> longIds = TechId.asLongs(deletionIds);
@@ -264,6 +268,10 @@ final class DeletionDAO extends AbstractGenericEntityDAO<DeletionPE> implements
 
     public List<DeletionPE> findAllById(List<Long> ids)
     {
+        if (ids.isEmpty())
+        {
+            return Collections.emptyList();
+        }
         final Criteria criteria = getSession().createCriteria(DeletionPE.class);
         criteria.add(Restrictions.in("id", ids));
 
@@ -307,6 +315,10 @@ final class DeletionDAO extends AbstractGenericEntityDAO<DeletionPE> implements
     public List<? extends IDeletablePE> listDeletedEntities(EntityKind entityKind,
             List<TechId> entityIds)
     {
+        if (entityIds.isEmpty())
+        {
+            return Collections.emptyList();
+        }
         DetachedCriteria criteria = DetachedCriteria.forClass(entityKind.getDeletedEntityClass());
         List<Long> ids = TechId.asLongs(entityIds);
         criteria.add(Restrictions.in(ID, ids));