diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLService.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLService.java
index 26698160e371b3402b4d8fd4e960d790223fc305..a6383ba18b097e10a652902acb593d2559041648 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLService.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLService.java
@@ -146,6 +146,7 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.EntityOperationsLogEntryPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.EntityTypePE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentTypePE;
+import ch.systemsx.cisd.openbis.generic.shared.dto.ExternalDataManagementSystemPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.ExternalDataPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.ListSamplesByPropertyCriteria;
 import ch.systemsx.cisd.openbis.generic.shared.dto.NewContainerDataSet;
@@ -2049,8 +2050,17 @@ public class ETLService extends AbstractCommonServer<IETLLIMSService> implements
     {
         checkSession(token);
 
-        return ExternalDataManagementSystemTranslator.translate(getDAOFactory()
-                .getExternalDataManagementSystemDAO().tryToFindExternalDataManagementSystemByCode(
-                        externalDataManagementSystemCode));
+        ExternalDataManagementSystemPE externalSystem =
+                getDAOFactory().getExternalDataManagementSystemDAO()
+                        .tryToFindExternalDataManagementSystemByCode(
+                                externalDataManagementSystemCode);
+
+        if (externalSystem != null)
+        {
+            return ExternalDataManagementSystemTranslator.translate(externalSystem);
+        } else
+        {
+            return null;
+        }
     }
 }