diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/api/v1/ScreeningOpenbisServiceFacade.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/api/v1/ScreeningOpenbisServiceFacade.java
index a5e614129365d136acb5a35a0799555e57fd636a..c4ec5e0da804a07bfbfb6348bbf41428e1178ece 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/api/v1/ScreeningOpenbisServiceFacade.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/api/v1/ScreeningOpenbisServiceFacade.java
@@ -1611,8 +1611,19 @@ public class ScreeningOpenbisServiceFacade implements IScreeningOpenbisServiceFa
     public List<Set<IImageSetMetaData>> listImageSetsMetadata(
             List<? extends IImageDatasetIdentifier> imageDatasets)
     {
-        // TODO Auto-generated method stub
-        return null;
+        final List<Set<IImageSetMetaData>> list = new ArrayList<Set<IImageSetMetaData>>();
+        metaDataMultiplexer.process(imageDatasets, new IReferenceHandler<IImageDatasetIdentifier>()
+            {
+                public void handle(DssServiceRpcScreeningHolder dssService,
+                        List<IImageDatasetIdentifier> references)
+                {
+                    checkDSSMinimalMinorVersion(dssService, "listImageSetsMetadata", List.class);
+                    List<Set<IImageSetMetaData>> sets =
+                            dssService.getService().listImageSetsMetadata(sessionToken, references);
+                    list.addAll(sets);
+                }
+            });
+        return list;
     }
 
     public List<PlateWellMaterialMapping> listPlateMaterialMapping(