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 65c916fa126082e7330bb8e64ff34e49748e0158..7474b38f909b5f172ec8312daaca7ac86e2751e5 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
@@ -997,11 +997,13 @@ public final class DataSetTable extends AbstractDataSetBusinessObject implements
         }
         if (details.isContainerUpdateRequested())
         {
-            if (dataSet.isContainer())
+            if (dataSetUpdates.getModifiedContainedDatasetCodesOrNull() != null)
             {
                 setContainedDataSets(dataSet,
                         Arrays.asList(dataSetUpdates.getModifiedContainedDatasetCodesOrNull()));
-            } else
+            }
+
+            if (dataSetUpdates.getModifiedContainerDatasetCodeOrNull() != null)
             {
                 updateContainer(dataSet, dataSetUpdates.getModifiedContainerDatasetCodeOrNull());
             }