diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/HCSContainerDatasetInfo.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/HCSContainerDatasetInfo.java
index fa215a3b10988bd38cedca367be314ea5f3b54a2..bb1148d8faddf9488a93c44ff1c7f2d697df596b 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/HCSContainerDatasetInfo.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/HCSContainerDatasetInfo.java
@@ -21,6 +21,7 @@ import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample;
+import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.Geometry;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.dto.PlateDimension;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.dto.PlateDimensionParser;
 
@@ -89,6 +90,11 @@ public class HCSContainerDatasetInfo
         this.containerColumns = containerColumns;
     }
 
+    public Geometry getContainerGeometry()
+    {
+        return Geometry.createFromRowColDimensions(containerRows, containerColumns);
+    }
+
     public static HCSContainerDatasetInfo createScreeningDatasetInfo(
             DataSetInformation dataSetInformation)
     {
@@ -144,7 +150,13 @@ public class HCSContainerDatasetInfo
 
     static PlateDimension getPlateGeometry(final DataSetInformation dataSetInformation)
     {
-        final IEntityProperty[] sampleProperties = dataSetInformation.getProperties();
+        IEntityProperty[] sampleProperties = dataSetInformation.getProperties();
+        if (sampleProperties == null && dataSetInformation.tryToGetSample() != null)
+        {
+            sampleProperties =
+                    dataSetInformation.tryToGetSample().getProperties()
+                            .toArray(new IEntityProperty[0]);
+        }
         final PlateDimension plateDimension =
                 PlateDimensionParser.tryToGetPlateDimension(sampleProperties);
         if (plateDimension == null)