diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DataDAO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DataDAO.java
index 17ae4aab17c3a7d3674531cd1ecd1a9aaebea7cc..4e4b6c7c4640ef662e55ef7955b1ec4daf7564d5 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DataDAO.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/DataDAO.java
@@ -1220,7 +1220,15 @@ final class DataDAO extends AbstractGenericEntityWithPropertiesDAO<DataPE> imple
 
         final String query =
                 "select " + side1 + " from data_set_relationships where " + side2 + " in (:ids) and relationship_id = :type";
-        return findRelatedIds(query, dataSetIds, relationshipTypeId);
+        InQueryScroller<TechId> dataSetIdsScroller = new InQueryScroller<>(dataSetIds, 2);
+        List<TechId> partialDataSetIds = null;
+        Set<TechId> result = new HashSet<>();
+        while ((partialDataSetIds = dataSetIdsScroller.next()) != null)
+        {
+            Set<TechId> partialResult = findRelatedIds(query, partialDataSetIds, relationshipTypeId);
+            result.addAll(partialResult);
+        }
+        return result;
     }
 
     @SuppressWarnings("unchecked")