diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/SegmentedStoreUtils.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/SegmentedStoreUtils.java
index 04f36f3a5edf04b78f1414bd9d6fed47c731bc49..edcafb28c146a2ef806b611b3d6dce6680229bbf 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/SegmentedStoreUtils.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/SegmentedStoreUtils.java
@@ -221,11 +221,12 @@ public class SegmentedStoreUtils
                             + ".");
                 } else
                 {
-                    File dataSetInStore = new File(share.getShare(), dataSet.getDataSetLocation());
-                    if (FileOperations.getMonitoredInstanceForCurrentThread()
-                            .exists(dataSetInStore))
+                    if (dataSet.getDataSetSize() == null)
                     {
-                        if (dataSet.getDataSetSize() == null)
+                        final File dataSetInStore =
+                                new File(share.getShare(), dataSet.getDataSetLocation());
+                        if (FileOperations.getMonitoredInstanceForCurrentThread()
+                                .exists(dataSetInStore))
                         {
                             log.log(LogLevel.INFO, "Calculating size of " + dataSetInStore);
                             long t0 = timeProvider.getTimeInMilliseconds();
@@ -236,12 +237,15 @@ public class SegmentedStoreUtils
                                             + " msec)");
                             service.updateShareIdAndSize(dataSetCode, shareId, size);
                             dataSet.setDataSetSize(size);
+                        } else
+                        {
+                            log.log(LogLevel.WARN, "Data set " + dataSetCode
+                                    + " no longer exists in share " + shareId + ".");
                         }
-                        share.addDataSet(dataSet);
-                    } else
+                    }
+                    if (dataSet.getDataSetSize() != null)
                     {
-                        log.log(LogLevel.WARN, "Data set " + dataSetCode
-                                + " no longer exists in share " + shareId + ".");
+                        share.addDataSet(dataSet);
                     }
                 }
             }