diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ftp/FtpPathResolverContext.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ftp/FtpPathResolverContext.java
index fc1a5c189134b0df51ba81312cbed14dbed4d7dd..dc66c88d11a86c813560809f171e46cb0aaeed59 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ftp/FtpPathResolverContext.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ftp/FtpPathResolverContext.java
@@ -130,8 +130,11 @@ public class FtpPathResolverContext implements ISessionTokenProvider
                     service.listExperiments(sessionToken,
                             Collections.singletonList(experimentIdentifier),
                             new ExperimentFetchOptions());
-            experiment = result.isEmpty() ? null : result.get(0);
-            cache.putExperiment(experiment);
+            if (result.isEmpty())
+            {
+                throw new IllegalArgumentException("Unknown experiment " + experimentId);
+            }
+            cache.putExperiment(result.get(0));
         }
         return experiment;
     }