diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/HCSImageDatasetLoader.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/HCSImageDatasetLoader.java
index 28a7bae1160fc8ea2499c1e5821a4acbc13ad3ce..01436b680ff23408ed705043d6cd2d6932b1c691 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/HCSImageDatasetLoader.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/HCSImageDatasetLoader.java
@@ -215,12 +215,16 @@ class HCSImageDatasetLoader extends PlateDatasetLoader
         // sets, if they exist.
         for (ExternalData child : filteredChildrenDataSets)
         {
-            List<ExternalData> parentImageDatasets = childIdToParentDataSetsMap.get(child.getId());
-            if (parentImageDatasets != null)
+            Long childId = child.getId();
+            if (childrenDataSets.containsKey(childId))
             {
-                child.setParents(parentImageDatasets);
+                List<ExternalData> parentImageDatasets = childIdToParentDataSetsMap.get(childId);
+                if (parentImageDatasets != null)
+                {
+                    child.setParents(parentImageDatasets);
+                }
+                childrenDataSets.put(childId, child);
             }
-            childrenDataSets.put(child.getId(), child);
         }
     }