diff --git a/screening/source/java/OpenBISScreeningML.java b/screening/source/java/OpenBISScreeningML.java
index f59c5485c6639c47f915b1d49b47bf4649f3bd4e..e46f5f31b5facf824d4864e6f83d5397d4c37f0c 100644
--- a/screening/source/java/OpenBISScreeningML.java
+++ b/screening/source/java/OpenBISScreeningML.java
@@ -39,6 +39,8 @@ import ch.systemsx.cisd.openbis.dss.client.api.v1.DataSet;
 import ch.systemsx.cisd.openbis.dss.client.api.v1.IDataSetDss;
 import ch.systemsx.cisd.openbis.dss.client.api.v1.IOpenbisServiceFacade;
 import ch.systemsx.cisd.openbis.dss.client.api.v1.IOpenbisServiceFacadeFactory;
+import ch.systemsx.cisd.openbis.dss.client.api.v1.OpenbisServiceFacadeFactory;
+import ch.systemsx.cisd.openbis.dss.client.api.v1.impl.OpenbisServiceFacade;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.v1.FileInfoDssDTO;
 import ch.systemsx.cisd.openbis.dss.generic.shared.api.v1.NewDataSetMetadataDTO;
 import ch.systemsx.cisd.openbis.generic.client.cli.Login;
@@ -289,6 +291,11 @@ public class OpenBISScreeningML
         {
             throw new RuntimeException("Login failed.");
         }
+
+        if (null == genericFacadeFactory)
+        {
+            genericFacadeFactory = OpenbisServiceFacadeFactory.INSTANCE;
+        }
         IOpenbisServiceFacade genericFacade =
                 genericFacadeFactory.tryToCreate(facade.getSessionToken(), url, 0);
         init(facade, genericFacade);