diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataSetTable.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataSetTable.java
index 876f270938e1bc523f646b952f063ce8667e02fe..a64266af063de00f6381aecfc8be02b28e3d308d 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataSetTable.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataSetTable.java
@@ -189,12 +189,12 @@ public final class DataSetTable extends AbstractDataSetBusinessObject implements
         return dataSets;
     }
 
-    public List<DataPE> getUnavailableDataSets()
+    public List<DataPE> getUnavailableContainedDataSets()
     {
         List<DataPE> result = new ArrayList<DataPE>();
         for (DataPE dataSet : dataSets)
         {
-            if (dataSet.isAvailable() == false)
+            if (dataSet.isContainer() == false && dataSet.isAvailable() == false)
             {
                 result.add(dataSet);
             }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/IDataSetTable.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/IDataSetTable.java
index 0d934aee43acc4dcbeab7a507bd2e7bf925948f5..957212f01eabdd5d24ed086475d38af436f273c6 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/IDataSetTable.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/IDataSetTable.java
@@ -63,7 +63,7 @@ public interface IDataSetTable
      */
     List<DataPE> getDataSets();
 
-    List<DataPE> getUnavailableDataSets();
+    List<DataPE> getUnavailableContainedDataSets();
 
     /**
      * Returns the loaded {@link DataPE}-s filtered to instances of {@link ExternalDataPE}.
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/TrashBO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/TrashBO.java
index 459a5e086993d9a81b6b3a1f5f2c33e6a9bed869..54dbce7f1de92e3f833ce8513136f814e8e584ac 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/TrashBO.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/TrashBO.java
@@ -143,7 +143,7 @@ public class TrashBO extends AbstractBusinessObject implements ITrashBO
     {
         IDataSetTable dataSetTable = boFactory.createDataSetTable(session);
         dataSetTable.loadByIds(allIdsAsList);
-        List<DataPE> unavailableDataSets = dataSetTable.getUnavailableDataSets();
+        List<DataPE> unavailableDataSets = dataSetTable.getUnavailableContainedDataSets();
         if (unavailableDataSets.isEmpty())
         {
             return;
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/TrashBOTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/TrashBOTest.java
index b0b9099a1175b4fcca368407855a3aaa5cd72fa6..b205c267b486625fc633da067fc2dc798a4648a6 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/TrashBOTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/TrashBOTest.java
@@ -176,7 +176,7 @@ public final class TrashBOTest extends AbstractBOTest
             {
                 {
                     one(dataSetTable).loadByIds(dataSetIds);
-                    one(dataSetTable).getUnavailableDataSets();
+                    one(dataSetTable).getUnavailableContainedDataSets();
                     will(returnValue(Arrays.asList()));
 
                     one(deletionDAO).trash(EntityKind.EXPERIMENT, experimentIds, deletion);
@@ -227,7 +227,7 @@ public final class TrashBOTest extends AbstractBOTest
             {
                 {
                     one(dataSetTable).loadByIds(dataSetIds);
-                    one(dataSetTable).getUnavailableDataSets();
+                    one(dataSetTable).getUnavailableContainedDataSets();
                     will(returnValue(Arrays.asList()));
 
                     one(deletionDAO).trash(EntityKind.EXPERIMENT, experimentIds, deletion);
@@ -288,7 +288,7 @@ public final class TrashBOTest extends AbstractBOTest
             {
                 {
                     one(dataSetTable).loadByIds(TechId.createList(70, 71, 72, 73));
-                    one(dataSetTable).getUnavailableDataSets();
+                    one(dataSetTable).getUnavailableContainedDataSets();
                     will(returnValue(Arrays.asList()));
 
                     RecordingMatcher<List<TechId>> sampleIdsMatcher =
@@ -352,7 +352,7 @@ public final class TrashBOTest extends AbstractBOTest
             {
                 {
                     one(dataSetTable).loadByIds(allIds);
-                    one(dataSetTable).getUnavailableDataSets();
+                    one(dataSetTable).getUnavailableContainedDataSets();
                     will(returnValue(Arrays.asList()));
 
                     one(dataDAO).listContainedDataSets(dataSetIds);
@@ -379,7 +379,7 @@ public final class TrashBOTest extends AbstractBOTest
             {
                 {
                     one(dataSetTable).loadByIds(allIds);
-                    one(dataSetTable).getUnavailableDataSets();
+                    one(dataSetTable).getUnavailableContainedDataSets();
                     ExternalDataPE dataSet = new ExternalDataPE();
                     dataSet.setCode("ds1");
                     dataSet.setStatus(DataSetArchivingStatus.ARCHIVE_PENDING);