diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/PlateStorageProcessor.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/PlateStorageProcessor.java
index 8229588f587c603b9dff3a6466612fb02ff6bb45..9b384f3742acee09b4c5fc870ed611909c3e8334 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/PlateStorageProcessor.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/PlateStorageProcessor.java
@@ -209,12 +209,14 @@ public final class PlateStorageProcessor extends AbstractImageStorageProcessor
             Integer width = null;
             Integer height = null;
             boolean original = true;
+            Integer colorDepth = null;
             if (originalDataset instanceof ImageDataSetInformation)
             {
                 ImageDataSetInformation imageDataSet = (ImageDataSetInformation) originalDataset;
                 width = nullifyIfZero(imageDataSet.getMaximumImageWidth());
                 height = nullifyIfZero(imageDataSet.getMaximumImageHeight());
                 original = imageDataSet.getRegisterAsOverviewImageDataSet() == false;
+                colorDepth = imageDataSet.getColorDepth();
             }
 
             if (original)
@@ -222,7 +224,7 @@ public final class PlateStorageProcessor extends AbstractImageStorageProcessor
                 @SuppressWarnings("unchecked")
                 ImageZoomLevel originalZoomLevel =
                         new ImageZoomLevel(originalDataset.getDataSetCode(), original,
-                                StringUtils.EMPTY_STRING, width, height, null, null,
+                                StringUtils.EMPTY_STRING, width, height, colorDepth, null,
                                 Collections.EMPTY_MAP);
                 zoomLevels.add(originalZoomLevel);
             }
@@ -246,9 +248,8 @@ public final class PlateStorageProcessor extends AbstractImageStorageProcessor
                     }
                     String rootPath = thumbnailsInfosOrNull.getRootPath(permId);
 
-                    // TODO add color depth
                     ImageZoomLevel thumbnailZoomLevel =
-                            new ImageZoomLevel(permId, false, rootPath, width, height, null,
+                            new ImageZoomLevel(permId, false, rootPath, width, height, colorDepth,
                                     fileTypeString,
                                     thumbnailsInfosOrNull.getTransformations(permId));
                     zoomLevels.add(thumbnailZoomLevel);
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/SimpleImageDataConfig.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/SimpleImageDataConfig.java
index e39c0e858bfbc83ae9afcda6fe847de4ee66522c..acdabb8f08a64458c6afa841099b99d075fb7849 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/SimpleImageDataConfig.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/SimpleImageDataConfig.java
@@ -250,6 +250,8 @@ abstract public class SimpleImageDataConfig
 
     private List<ChannelColorComponent> channelColorComponentsOrNull;
 
+    private Integer colorDepth;
+
     // --- getters & setters ----------------------------------------------
 
     public ImageStorageConfiguraton getImageStorageConfiguration()
@@ -985,4 +987,15 @@ abstract public class SimpleImageDataConfig
     {
         return this.thumbnailsFileFormat;
     }
+
+    public Integer getColorDepth()
+    {
+        return colorDepth;
+    }
+
+    public void setColorDepth(Integer colorDepth)
+    {
+        this.colorDepth = colorDepth;
+    }
+
 }
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/ImageDataSetInformation.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/ImageDataSetInformation.java
index 8c5d0b842526be8702980bb36c32eabfe2d83789..639dfdce61a1d9b7bd9d1a2d13faf3c0e5c3d700 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/ImageDataSetInformation.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/impl/ImageDataSetInformation.java
@@ -55,6 +55,8 @@ public class ImageDataSetInformation extends BasicDataSetInformation
 
     private int maximumImageHeight;
 
+    private Integer colorDepth;
+
     public File getIncomingDirectory()
     {
         return incomingDirectory;
@@ -162,6 +164,16 @@ public class ImageDataSetInformation extends BasicDataSetInformation
                 generateOverviewImagesFromRegisteredImages;
     }
 
+    public Integer getColorDepth()
+    {
+        return colorDepth;
+    }
+
+    public void setColorDepth(Integer colorDepth)
+    {
+        this.colorDepth = colorDepth;
+    }
+
     @Override
     public String toString()
     {
@@ -174,6 +186,10 @@ public class ImageDataSetInformation extends BasicDataSetInformation
             appendNameAndObject(buffer, "bounding box", maximumImageWidth + "x"
                     + maximumImageHeight);
         }
+        if (getColorDepth() != null)
+        {
+            appendNameAndObject(buffer, "color depth", this.getColorDepth());
+        }
         if (getThumbnailsInfos() != null)
         {
             appendNameAndObject(buffer, "thumbnail", getThumbnailsInfos());
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/v1/SimpleImageDataSetRegistrator.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/v1/SimpleImageDataSetRegistrator.java
index 766a48c7533e8a5208bf90c8cae748779d673735..79406de96f338c006d87f5c24cc769750b87f6a8 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/v1/SimpleImageDataSetRegistrator.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/v1/SimpleImageDataSetRegistrator.java
@@ -201,6 +201,8 @@ public class SimpleImageDataSetRegistrator
             }
         }
 
+        imageDataset.setColorDepth(simpleImageConfig.getColorDepth());
+
         setRegistrationDetails(registrationDetails, imageDataset);
         return registrationDetails;
     }
diff --git a/screening/sourceTest/core-plugins/TransformedImageRepresentationsTest/1/dss/drop-boxes/TransformedImageRepresentationsTest-drop-box/data-set-handler.py b/screening/sourceTest/core-plugins/TransformedImageRepresentationsTest/1/dss/drop-boxes/TransformedImageRepresentationsTest-drop-box/data-set-handler.py
index 2785367e3bdd5ae9548bfd84caa58ecd5c49ac43..e6d978e6909e91481a4685637d74902e70d52f41 100644
--- a/screening/sourceTest/core-plugins/TransformedImageRepresentationsTest/1/dss/drop-boxes/TransformedImageRepresentationsTest-drop-box/data-set-handler.py
+++ b/screening/sourceTest/core-plugins/TransformedImageRepresentationsTest/1/dss/drop-boxes/TransformedImageRepresentationsTest-drop-box/data-set-handler.py
@@ -130,6 +130,7 @@ if incoming.isDirectory():
   imageDataset = ImageDataSetFlexible()
   imageDataset.setRawImageDatasetType()
   imageDataset.setPlate("TEST", 'TRANSFORMED-THUMB-PLATE')
+  imageDataset.setColorDepth(8)
   transforms = getAvailableChannelTransformations()
   # We want thumbnails generarted for the following resolutions, and they should be JPEG and have the
   # Radial Blur transform applied
diff --git a/screening/sourceTest/core-plugins/TransformedImageRepresentationsV2Test/1/dss/drop-boxes/TransformedImageRepresentationsV2Test-drop-box/data-set-handler.py b/screening/sourceTest/core-plugins/TransformedImageRepresentationsV2Test/1/dss/drop-boxes/TransformedImageRepresentationsV2Test-drop-box/data-set-handler.py
index 2a26deec724dabc7793b28de62019679b9bde88a..47d50b82a2b662525d622e20a8bc6dbd269fa25b 100644
--- a/screening/sourceTest/core-plugins/TransformedImageRepresentationsV2Test/1/dss/drop-boxes/TransformedImageRepresentationsV2Test-drop-box/data-set-handler.py
+++ b/screening/sourceTest/core-plugins/TransformedImageRepresentationsV2Test/1/dss/drop-boxes/TransformedImageRepresentationsV2Test-drop-box/data-set-handler.py
@@ -129,6 +129,7 @@ def process(transaction):
         imageDataset = ImageDataSetFlexible()
         imageDataset.setRawImageDatasetType()
         imageDataset.setPlate("TEST", 'TRANSFORMED-THUMB-PLATE')
+        imageDataset.setColorDepth(8)
         transforms = getAvailableChannelTransformations()
         # We want thumbnails generarted for the following resolutions, and they should be JPEG and have the
         # Radial Blur transform applied 
diff --git a/screening/sourceTest/java/ch/systemsx/cisd/openbis/screening/systemtests/TransformedImageRepresentationsTest.java b/screening/sourceTest/java/ch/systemsx/cisd/openbis/screening/systemtests/TransformedImageRepresentationsTest.java
index 4a0bb982600a510b616ee07345917404b6826b73..7b8a13e0a2e539fbf050e91d209778be34bea495 100644
--- a/screening/sourceTest/java/ch/systemsx/cisd/openbis/screening/systemtests/TransformedImageRepresentationsTest.java
+++ b/screening/sourceTest/java/ch/systemsx/cisd/openbis/screening/systemtests/TransformedImageRepresentationsTest.java
@@ -114,6 +114,7 @@ public class TransformedImageRepresentationsTest extends AbstractScreeningSystem
                 new Dimension(256, 256), new Dimension(512, 512)));
         for (ImageRepresentationFormat format : formats)
         {
+            assertEquals(Integer.valueOf(8), format.getColorDepth());
             Dimension resolution = new Dimension(format.getWidth(), format.getHeight());
             // Make sure the resolution we specified was found
             assertTrue("" + resolution + " was not expected",