diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ServiceForDataStoreServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ServiceForDataStoreServer.java
index a02d54d59cefbdaf606cef35336f2a35293f42c7..a59e79e8e5e649caa615a98e1d5bb80fcf016005 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ServiceForDataStoreServer.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ServiceForDataStoreServer.java
@@ -1050,12 +1050,7 @@ public class ServiceForDataStoreServer extends AbstractCommonServer<IServiceForD
         if (dataSet == null)
         {
             //Check if the dataset is on the trashcan
-            TechId dataSetTechId = getDAOFactory().getDataDAO().tryToFindDataSetIdByCode(dataSetCode);
-            List<String> queryDatasetOnTrashCan = null;
-            if(dataSetTechId != null) {
-                queryDatasetOnTrashCan = getDAOFactory().getDeletionDAO().findTrashedDataSetCodes(Arrays.asList(dataSetTechId));
-            }
-            boolean isDataSetOnTrashCan = queryDatasetOnTrashCan != null && queryDatasetOnTrashCan.size() == 1;
+            boolean isDataSetOnTrashCan = getDAOFactory().getDataDAO().exists(dataSetCode);
             //Check if the dataset is finally deleted
             boolean isDataSetDeleted = getDAOFactory().getEventDAO().tryFind(
                     dataSetCode,