diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/internal/authorization/ScreeningPlateListReadOnlyPredicate.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/internal/authorization/ScreeningPlateListReadOnlyPredicate.java
index ab983474a3461731b20d9c32ef2118825b902cce..60bb6c41ade71fa28b772c4c74c91fb72555aac7 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/internal/authorization/ScreeningPlateListReadOnlyPredicate.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/internal/authorization/ScreeningPlateListReadOnlyPredicate.java
@@ -91,6 +91,10 @@ public class ScreeningPlateListReadOnlyPredicate extends
         {
             for (Long spaceId : getSampleSpaceIds(permIds))
             {
+                if (spaceId == null)
+                {
+                    continue; // Shared samples will return a spaceId of null.
+                }
                 final Status status =
                         evaluate(person, allowedRoles, authorizationDataProvider
                                 .getHomeDatabaseInstance(), spaceId);