diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/AbstractImageDatasetUploader.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/AbstractImageDatasetUploader.java
index 5cf22d45893765f09534854da61a608d271dfb10..f97eab5b3d7fe01fbaff1f4ce0ac45b0479b397c 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/AbstractImageDatasetUploader.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/AbstractImageDatasetUploader.java
@@ -178,7 +178,15 @@ abstract class AbstractImageDatasetUploader
                         datasetId, spotId, image.tryGetTimePoint(), image.tryGetDepth(),
                         image.tryGetSeriesNumber(), false);
 
-        List<ImgChannelStackDTO> channelStacks = dao.listChannelStacks(datasetId, spotId);
+        List<ImgChannelStackDTO> channelStacks = null;
+        if (spotId != null)
+        {
+            channelStacks = dao.listChannelStacks(datasetId, spotId);
+        } else
+        {
+            channelStacks = dao.listChannelStacks(datasetId);
+        }
+
         for (ImgChannelStackDTO channelStack : channelStacks)
         {
             if (newChannelStack.equals(channelStack))
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/RelativeImageReference.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/RelativeImageReference.java
index 322134855b1942ef381d35e80f0d901bbf761a63..5b5a288c65f0ee9c1c21d559bae7d20559436177 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/RelativeImageReference.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/RelativeImageReference.java
@@ -16,6 +16,7 @@
 
 package ch.systemsx.cisd.openbis.dss.etl;
 
+import ch.systemsx.cisd.common.shared.basic.string.StringUtils;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.imaging.dataaccess.ColorComponent;
 
 /**
@@ -41,6 +42,8 @@ public class RelativeImageReference extends AbstractImageReference
 
     public final void setRelativeImageFolder(String folderPathPrefix)
     {
-        this.imageRelativePath = folderPathPrefix + imageRelativePath;
+        this.imageRelativePath =
+                StringUtils.isBlank(imageRelativePath) ? folderPathPrefix.substring(0,
+                        folderPathPrefix.length() - 1) : folderPathPrefix + imageRelativePath;
     }
 }
\ No newline at end of file
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/IImagingReadonlyQueryDAO.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/IImagingReadonlyQueryDAO.java
index 65296072950d780b300f8a379075acb1b3545f09..274551f0f8a474fed3f1598186c531fe160617ab 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/IImagingReadonlyQueryDAO.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/imaging/dataaccess/IImagingReadonlyQueryDAO.java
@@ -385,6 +385,12 @@ public interface IImagingReadonlyQueryDAO extends BaseQuery
             + "where cs.ds_id = ?{1} and s.id = ?{2}")
     public List<ImgChannelStackDTO> listChannelStacks(long datasetId, long spotId);
 
+    @Select("select cs.* from CHANNEL_STACKS cs               "
+            + "join SPOTS s on s.id = cs.spot_id              "
+            + "join CONTAINERS c on c.id = s.cont_id          "
+            + "where cs.ds_id = ?{1} and s.id IS NULL")
+    public List<ImgChannelStackDTO> listChannelStacks(long datasetId);
+
     @Select("select * from SPOTS where cont_id = ?{1}")
     public List<ImgSpotDTO> listSpots(long contId);