diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataBO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataBO.java
index 7d4a2d9871f02b0d454e901c2e039b14f31d3935..a655d4db873184a23d88a654731e1acee3703bba 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataBO.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/DataBO.java
@@ -661,6 +661,10 @@ public class DataBO extends AbstractDataSetBusinessObject implements IDataBO
         if (modifiedContainedDatasetCodesOrNull == null)
         {
             return; // contained data sets were not changed
+        } else if (modifiedContainedDatasetCodesOrNull.length > 0 && false == data.isContainer())
+        {
+            throw new UserFailureException("Data set '" + data.getCode()
+                    + " is not a container data set, and cannot contain other data sets.");
         } else
         {
             final List<DataPE> currentComponents =
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/UpdateDataSetContainmentTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/UpdateDataSetContainmentTest.java
index 0ffd7aaa38c3214b636842065327b85cc6c15df7..d5c98acc362b4458856ceed46767a70a8247027e 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/UpdateDataSetContainmentTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/UpdateDataSetContainmentTest.java
@@ -98,7 +98,7 @@ public class UpdateDataSetContainmentTest extends BaseTest
         perform(anUpdateOf(component1).withContainer(component2));
     }
 
-    @Test(expectedExceptions = UserFailureException.class, groups = "broken")
+    @Test(expectedExceptions = UserFailureException.class)
     public void dataSetWithComponentTypeCannotHaveComponents() throws Exception
     {
         ExternalData component1 = create(aDataSet().inSample(sample));
@@ -164,8 +164,9 @@ public class UpdateDataSetContainmentTest extends BaseTest
         perform(anUpdateOf(dataset).withComponent(dataset));
     }
 
-    @Test(groups = "broken")
-    public void subcomponentsAreAllowed() throws Exception
+    @Test(expectedExceptions =
+        { UserFailureException.class })
+    public void subcomponentsAreNotAllowed() throws Exception
     {
         ExternalData component = create(aDataSet().inSample(sample));
         ExternalData container =