diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ChannelChooser.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ChannelChooser.java
index 687ca0fa1c8f82bea60215739fc13ff683952a69..e3b337ba31d2158943557d3b0815116c35df6eef 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ChannelChooser.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/ChannelChooser.java
@@ -333,7 +333,7 @@ class ChannelChooser
         }
         objectsChooserContainer.layout();
 
-        setSelectedOverlayChannels(new HashSet<ImageDatasetChannel>());
+        updateSelectedOverlayChannels(Collections.<CheckBoxGroupWithModel<ImageDatasetChannel>> emptyList());
     }
 
     private List<List<DatasetOverlayImagesReference>> splitIntoGroupsOfIdenticalAnalysisProcedure(List<DatasetOverlayImagesReference> overlayDatasets)
@@ -398,9 +398,10 @@ class ChannelChooser
                 container = new SectionFieldSet(analysisProcedure);
             }
 
+            List<CheckBoxGroupWithModel<ImageDatasetChannel>> checkboxes = new ArrayList<CheckBoxGroupWithModel<ImageDatasetChannel>>();
             for (DatasetOverlayImagesReference dataSet : group)
             {
-                container.add(createOverlayChannelsChooserForOneDataSet(dataSet, overlayDatasets.size() != 1));
+                container.add(createOverlayChannelsChooserForOneDataSet(dataSet, overlayDatasets.size() != 1, checkboxes));
             }
 
             if (container != objectsChooserContainer)
@@ -449,7 +450,7 @@ class ChannelChooser
     }
 
     private Widget createOverlayChannelsChooserForOneDataSet(
-            DatasetOverlayImagesReference overlayDataset, boolean withLabel)
+            DatasetOverlayImagesReference overlayDataset, boolean withLabel, final List<CheckBoxGroupWithModel<ImageDatasetChannel>> checkboxes)
     {
         List<LabeledItem<ImageDatasetChannel>> overlayChannelItems =
                 createOverlayChannelItems(overlayDataset);
@@ -460,9 +461,10 @@ class ChannelChooser
                 @Override
                 public void onChange(Set<ImageDatasetChannel> selected)
                 {
-                    setSelectedOverlayChannels(selected);
+                    updateSelectedOverlayChannels(checkboxes);
                 }
             });
+        checkboxes.add(checkBoxGroup);
 
         String label = OVERLAYS_MSG;
 
@@ -477,9 +479,14 @@ class ChannelChooser
 
     }
 
-    private void setSelectedOverlayChannels(Set<ImageDatasetChannel> selected)
+    private void updateSelectedOverlayChannels(List<CheckBoxGroupWithModel<ImageDatasetChannel>> checkboxes)
     {
-        selectedOverlayChannels = selected;
+        selectedOverlayChannels = new HashSet<ImageDatasetChannel>();
+
+        for (CheckBoxGroupWithModel<ImageDatasetChannel> checkbox : checkboxes)
+        {
+            selectedOverlayChannels.addAll(checkbox.getSelected());
+        }
         refresh();
     }
 
diff --git a/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/utils/EntityTypeLabelUtilsTest.java b/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/utils/EntityTypeLabelUtilsTest.java
index 6048abdf808ae42e1a9a4ec289c84ff3ff0e5020..b34a819dc471b20b478206f098e187c01a38aadd 100644
--- a/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/utils/EntityTypeLabelUtilsTest.java
+++ b/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/utils/EntityTypeLabelUtilsTest.java
@@ -42,6 +42,9 @@ public class EntityTypeLabelUtilsTest extends AssertJUnit
         assertEquals("Features, additional text, 2011-05-30, 123412342314-1234",
                 createLabelWithText("HCS_ANALYSIS_WELL_FEATURES", "additional text"));
 
+        assertEquals("Analysis Procedure 1, Measurement 3, 2011-05-30, 123412342314-1234",
+                createOverlayLabel("HCS_IMAGE_SEGMENTATION", "Analysis Procedure 1", "Measurement 3"));
+
     }
 
     private String createLabelWithText(String typeCode, String labelTest)
@@ -59,4 +62,12 @@ public class EntityTypeLabelUtilsTest extends AssertJUnit
                         null, null, null, null);
         return EntityTypeLabelUtils.createDatasetLabel(ref, withFileType, "2011-05-30", null, true, false);
     }
+
+    private String createOverlayLabel(String typeCode, String analysisProcedure, String labelTest)
+    {
+        DatasetReference ref =
+                new DatasetReference(0, "123412342314-1234", typeCode, null, "DAT", null, null,
+                        null, null, analysisProcedure, labelTest);
+        return EntityTypeLabelUtils.createDatasetLabel(ref, false, "2011-05-30", null, true, true);
+    }
 }
\ No newline at end of file