diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/ImagingDatabaseHelper.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/ImagingDatabaseHelper.java
index ff2d2fbfc056fb4f1e12ebf0b4abeb1d3164b638..7fd1e6a062fcd0cfad90a5ba1642e2aa8d26a9dc 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/ImagingDatabaseHelper.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/ImagingDatabaseHelper.java
@@ -260,6 +260,7 @@ public class ImagingDatabaseHelper
         private Map<String, Long> getOrCreateChannels(ChannelOwner channelOwner,
                 List<Channel> channels)
         {
+            fillMissingChannelColors(channels);
             if (channelOwner.tryGetExperimentId() != null)
             {
                 long expId = channelOwner.tryGetExperimentId();
@@ -295,7 +296,6 @@ public class ImagingDatabaseHelper
         private Map<String, Long> createChannels(ChannelOwner channelOwner, List<Channel> channels)
         {
             Map<String, Long> map = new HashMap<String, Long>();
-            fillMissingChannelColors(channels);
             for (Channel channel : channels)
             {
                 ImgChannelDTO channelDTO = createChannel(channel, channelOwner);