diff --git a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchDataSetTest.java b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchDataSetTest.java
index 2edc688df814da911f868005890b9fc181440a3e..b261b28c18c3325f39b65b386e70d83b7b4f188f 100644
--- a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchDataSetTest.java
+++ b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchDataSetTest.java
@@ -21,9 +21,11 @@ import static org.testng.Assert.assertEquals;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import org.testng.annotations.Test;
 
+import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.id.ObjectPermId;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.DatePropertySearchCriteria;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.SearchResult;
 import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.ArchivingStatus;
@@ -153,6 +155,26 @@ public class SearchDataSetTest extends AbstractDataSetTest
         testSearch(TEST_USER, criteria, "20110509092359990-11", "COMPONENT_2A", "20110509092359990-12");
     }
 
+    @Test
+    public void test()
+    {
+        final DataSetSearchCriteria criteria = new DataSetSearchCriteria();
+        //        criteria.withContainer();
+
+        String sessionToken = v3api.login(TEST_USER, PASSWORD);
+        final DataSetFetchOptions fetchOptions = new DataSetFetchOptions();
+        fetchOptions.withContainers();
+        List<DataSet> dataSets = searchDataSets(sessionToken, criteria, fetchOptions);
+
+        dataSets.stream().filter(dataSet -> dataSet.getContainers() != null && !dataSet.getContainers().isEmpty()).forEach(dataSet ->
+                System.out.printf("Code: %s. PermId: %s. Containers permId: %s\n", dataSet.getCode(), dataSet.getPermId(),
+                        dataSet.getContainers().stream().map(DataSet::getPermId).map(ObjectPermId::getPermId).collect(Collectors.joining(", ")))
+        );
+
+//        System.out.println(dataSets);
+        v3api.logout(sessionToken);
+    }
+
     @Test
     public void testSearchWithContainer()
     {
@@ -166,9 +188,27 @@ public class SearchDataSetTest extends AbstractDataSetTest
     @Test
     public void testSearchWithContainerWithPermId()
     {
-        DataSetSearchCriteria criteria = new DataSetSearchCriteria();
-        criteria.withContainer().withPermId().thatEquals("20110509092359990-10");
-        testSearch(TEST_USER, criteria, "20110509092359990-11", "20110509092359990-12");
+        final DataSetSearchCriteria criteria1 = new DataSetSearchCriteria();
+        criteria1.withContainer().withPermId().thatEquals("20110509092359990-10");
+        testSearch(TEST_USER, criteria1, "20110509092359990-11", "20110509092359990-12");
+
+        final DataSetSearchCriteria criteria2 = new DataSetSearchCriteria();
+        criteria2.withContainer().withPermId().thatEquals("CONTAINER_3A");
+        testSearch(TEST_USER, criteria2, "COMPONENT_3A", "COMPONENT_3AB");
+
+        final DataSetSearchCriteria criteria3 = new DataSetSearchCriteria();
+        criteria3.withContainer().withPermId().thatEquals("CONTAINER_3B");
+        testSearch(TEST_USER, criteria3, "COMPONENT_3AX", "COMPONENT_3AB");
+
+        // Not existing data set permID as a container.
+        final DataSetSearchCriteria criteria4 = new DataSetSearchCriteria();
+        criteria4.withContainer().withPermId().thatEquals("20110509092359990-000");
+        testSearch(TEST_USER, criteria4);
+
+        // Existing data set permID which is not as a container.
+        final DataSetSearchCriteria criteria5 = new DataSetSearchCriteria();
+        criteria5.withContainer().withPermId().thatEquals("COMPONENT_3AB");
+        testSearch(TEST_USER, criteria5);
     }
 
     @Test
diff --git a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchSampleTest.java b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchSampleTest.java
index 8a32260b5b43e05391c51f31651eba726f05a9c3..b16165c880332af88b4f1c946e9cae42776db639 100644
--- a/server-application-server/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchSampleTest.java
+++ b/server-application-server/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchSampleTest.java
@@ -1110,9 +1110,19 @@ public class SearchSampleTest extends AbstractSampleTest
     @Test
     public void testSearchWithContainerWithPermId()
     {
-        SampleSearchCriteria criteria = new SampleSearchCriteria();
-        criteria.withContainer().withPermId().thatEquals("200811050924274-994");
-        testSearch(TEST_USER, criteria, "/CISD/B1B3:B01", "/CISD/B1B3:B03");
+        final SampleSearchCriteria criteria1 = new SampleSearchCriteria();
+        criteria1.withContainer().withPermId().thatEquals("200811050924274-994");
+        testSearch(TEST_USER, criteria1, "/CISD/B1B3:B01", "/CISD/B1B3:B03");
+
+        // Not existing sample permID as a container.
+        final SampleSearchCriteria criteria2 = new SampleSearchCriteria();
+        criteria2.withContainer().withPermId().thatEquals("200811050924274-000");
+        testSearch(TEST_USER, criteria2);
+
+        // Existing sample permID which is not a container.
+        final SampleSearchCriteria criteria3 = new SampleSearchCriteria();
+        criteria3.withContainer().withPermId().thatEquals("200811050925507-1000");
+        testSearch(TEST_USER, criteria3);
     }
 
     @Test