diff --git a/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/task/UsageGatherer.java b/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/task/UsageGatherer.java
index 8ee4dfa909908df371e511baf967ee33753a4ea0..7d823e5de67c433029ba53d70ca3233e5e67d87d 100644
--- a/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/task/UsageGatherer.java
+++ b/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/task/UsageGatherer.java
@@ -131,7 +131,7 @@ public class UsageGatherer
         fetchOptions.withSpace();
         fetchOptions.withRegistrator();
         List<Sample> samples = service.searchSamples(sessionToken, searchCriteria, fetchOptions).getObjects();
-        Function<Sample, String> spaceExtractor = sample -> sample.getSpace().getCode();
+        Function<Sample, String> spaceExtractor = sample -> sample.getSpace() != null ? sample.getSpace().getCode() : null;
         gatherUsage(usageByUsersAndSpaces, samples, spaceExtractor, UsageInfo::addNewSample);
     }
 
@@ -155,8 +155,15 @@ public class UsageGatherer
                     if (experiment != null)
                     {
                         return experiment.getProject().getSpace().getCode();
-                    } 
-                    return dataSet.getSample().getSpace().getCode();
+                    }
+
+                    Sample sample = dataSet.getSample();
+                    if (sample != null)
+                    {
+                        return sample.getSpace() != null ? sample.getSpace().getCode() : null;
+                    }
+
+                    return null;
                 }
             };
         gatherUsage(usageByUsersAndSpaces, dataSets, spaceExtractor, UsageInfo::addNewDataSet);
@@ -172,7 +179,7 @@ public class UsageGatherer
             if (usageBySpaces != null)
             {
                 String space = spaceExtractor.apply(entity);
-                if (spacesToBeIgnored.contains(space) == false)
+                if (space != null && spacesToBeIgnored.contains(space) == false)
                 {
                     UsageInfo usageInfo = usageBySpaces.get(space);
                     if (usageInfo == null)