diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/FeatureVectorDatasetLoader.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/FeatureVectorDatasetLoader.java
index f1fc3a5e4a9209d591264082f1158b30c52e8487..5bf9a6110d32b6de98284eea778eade8a000913c 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/FeatureVectorDatasetLoader.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/FeatureVectorDatasetLoader.java
@@ -100,7 +100,7 @@ class FeatureVectorDatasetLoader extends ImageDatasetLoader
         DataStore dataStore = externalData.getDataStore();
         ExternalData parentDataset = externalData.getParents().iterator().next();
         return new FeatureVectorDatasetReference(externalData.getCode(),
-                dataStore.getDownloadUrl(), createPlateIdentifier(parentDataset),
+                getDataStoreUrlFromDataStore(dataStore), createPlateIdentifier(parentDataset),
                 extractPlateGeometry(parentDataset), externalData.getRegistrationDate(),
                 asImageDataset(parentDataset));
     }
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/ImageDatasetLoader.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/ImageDatasetLoader.java
index 2dee96c43c82db69cfb5688015dea2a73c9a2e6c..86d5a60c01dbcaf00f62605098f43c3537eec797 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/ImageDatasetLoader.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/ImageDatasetLoader.java
@@ -65,8 +65,8 @@ class ImageDatasetLoader extends PlateDatasetLoader
     protected ImageDatasetReference asImageDataset(ExternalData externalData)
     {
         DataStore dataStore = externalData.getDataStore();
-        return new ImageDatasetReference(externalData.getCode(), dataStore.getDownloadUrl(),
-                createPlateIdentifier(externalData), extractPlateGeometry(externalData),
-                externalData.getRegistrationDate());
+        return new ImageDatasetReference(externalData.getCode(),
+                getDataStoreUrlFromDataStore(dataStore), createPlateIdentifier(externalData),
+                extractPlateGeometry(externalData), externalData.getRegistrationDate());
     }
 }
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/PlateDatasetLoader.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/PlateDatasetLoader.java
index 891e0309cf7e034586fbde189b1c7560c7a3d7bf..3629d4b483f020c633f3917513e4b2397eec99a4 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/PlateDatasetLoader.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/PlateDatasetLoader.java
@@ -1,5 +1,7 @@
 package ch.systemsx.cisd.openbis.plugin.screening.server.logic;
 
+import static ch.systemsx.cisd.openbis.generic.shared.GenericSharedConstants.DATA_STORE_SERVER_WEB_APPLICATION_NAME;
+
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -7,6 +9,7 @@ import java.util.List;
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.datasetlister.IDatasetLister;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.samplelister.ISampleLister;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataStore;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IEntityProperty;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ListOrSearchSampleCriteria;
@@ -225,6 +228,25 @@ class PlateDatasetLoader
         return sampleIds;
     }
 
+    protected String getDataStoreUrlFromDataStore(DataStore dataStore)
+    {
+        String datastoreUrl = dataStore.getDownloadUrl();
+        // The url objained form a DataStore object is the *download* url. Convert this to the
+        // datastore URL
+        if (datastoreUrl.endsWith(DATA_STORE_SERVER_WEB_APPLICATION_NAME))
+        {
+            datastoreUrl =
+                    datastoreUrl.substring(0, datastoreUrl.length()
+                            - DATA_STORE_SERVER_WEB_APPLICATION_NAME.length());
+        }
+        if (datastoreUrl.endsWith("/"))
+        {
+            datastoreUrl = datastoreUrl.substring(0, datastoreUrl.length() - 1);
+        }
+
+        return datastoreUrl;
+    }
+
     protected static SampleIdentifier createSampleIdentifier(PlateIdentifier plate)
     {
         SampleOwnerIdentifier owner;