diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v2/IImagingDataSetRegistrationTransactionV2.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v2/IImagingDataSetRegistrationTransactionV2.java
index 65686d7eaf89a4c19812e26a81798f88c06855ba..a1b946b45711f3ecdc630ac6f3f8ed13f958f628 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v2/IImagingDataSetRegistrationTransactionV2.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/dto/api/v2/IImagingDataSetRegistrationTransactionV2.java
@@ -37,6 +37,13 @@ public interface IImagingDataSetRegistrationTransactionV2 extends IDataSetRegist
     IImageDataSet createNewImageDataSet(SimpleImageDataConfig imageDataSet,
             File incomingFolderWithImages);
 
+    /**
+     * Creates a new image data set. See {@link SimpleImageDataConfig} documentation for
+     * configuration details. Also moves the incoming directory to the data set.
+     */
+    IImageDataSet createNewImageDataSetAndMoveFile(SimpleImageDataConfig imageDataSet,
+            File incomingFolderWithImages);
+
     /**
      * Creates a new overview image data set. See {@link SimpleImageDataConfig} documentation for
      * configuration details.
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/v2/ImagingDataSetRegistrationTransaction.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/v2/ImagingDataSetRegistrationTransaction.java
index 161709a60040b89a2e39437f942fef8f3022b3bb..bfc547c8304428d548624673b92652d4242d5d4f 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/v2/ImagingDataSetRegistrationTransaction.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/v2/ImagingDataSetRegistrationTransaction.java
@@ -746,8 +746,14 @@ public class ImagingDataSetRegistrationTransaction extends DataSetRegistrationTr
                 throw new UserFailureException(
                         "Cannot move the files because the original dataset is missing: " + src);
             }
-            originalDataset.getRegistrationDetails().getDataSetInformation()
-                    .setDatasetRelativeImagesFolderPath(new File(destination));
+
+            ImageDataSetInformation dataSetInformation =
+                    originalDataset.getRegistrationDetails().getDataSetInformation();
+
+            if (dataSetInformation.getDatasetRelativeImagesFolderPath() == null)
+            {
+                dataSetInformation.setDatasetRelativeImagesFolderPath(new File(destination));
+            }
 
             return super.moveFile(src, originalDataset, destination);
         }
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/v2/ImagingDataSetRegistrationTransactionV2Delegate.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/v2/ImagingDataSetRegistrationTransactionV2Delegate.java
index 535108642ae3c228c53ad0d3f7716ec64d93edee..2727d1b6d165637cf1cf819de976390facca4a46 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/v2/ImagingDataSetRegistrationTransactionV2Delegate.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/v2/ImagingDataSetRegistrationTransactionV2Delegate.java
@@ -71,6 +71,16 @@ public class ImagingDataSetRegistrationTransactionV2Delegate implements
         return transaction.createNewImageDataSet(imageDataSet, incomingFolderWithImages);
     }
 
+    @Override
+    public IImageDataSet createNewImageDataSetAndMoveFile(SimpleImageDataConfig imageDataSet,
+            File incomingFolderWithImages)
+    {
+        IImageDataSet dataSet =
+                transaction.createNewImageDataSet(imageDataSet, incomingFolderWithImages);
+        transaction.moveFile(incomingFolderWithImages.getPath(), dataSet);
+        return dataSet;
+    }
+
     @Override
     public IDataSet createNewOverviewImageDataSet(SimpleImageDataConfig imageDataSet,
             File incomingFolderWithImages)
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 47d50b82a2b662525d622e20a8bc6dbd269fa25b..359914ebab96f8d4e5881d3716903f1ece35ebb3 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
@@ -146,5 +146,14 @@ def process(transaction):
             channel.setAvailableTransformations(transforms)
         imageDataset.setChannels(channels, colorComponents)
     
-        dataSet = transaction.createNewImageDataSet(imageDataset, incoming)
-        transaction.moveFile(incoming.getPath(), dataSet)
+        dataSet = transaction.createNewImageDataSetAndMoveFile(imageDataset, incoming)
+        
+        os.makedirs(incoming.getPath())
+        path = incoming.getPath() + 'otherFile.txt'
+        
+        f = open(path, 'w')
+        f.write("test\n")
+        f.close()
+        
+        transaction.moveFile(path, dataSet)
+        
\ No newline at end of file
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 a7447bb1c0aa688cdf522e78a4f6e65ba2bdab82..fef6fc9bd1e5c46c18126f8eaf5dd985694021b2 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
@@ -178,8 +178,23 @@ public class TransformedImageRepresentationsTest extends AbstractScreeningSystem
                         expectedThumbnailBytes(dataSetCode, format.getWidth());
                 assertEquals(1, thumbnails.size());
                 assertEquals(expectedThumbnailImage, thumbnails.get(0));
-            }
+            } else
+            {
+                final List<byte[]> images = new ArrayList<byte[]>();
+                screeningFacade.loadImages(plateRefs, false, new IPlateImageHandler()
+                    {
+
+                        @Override
+                        public void handlePlateImage(PlateImageReference plateImageReference,
+                                byte[] imageFileBytes)
+                        {
+                            images.add(imageFileBytes);
+                        }
+                    });
+                assertEquals(1, images.size());
 
+                assertTrue(images.get(0).length > 0);
+            }
             if (format.getFileType() != null)
             {
                 // jpg thumbnails