diff --git a/datastore_server/etc/service.properties b/datastore_server/etc/service.properties
index c45aeaa7d7451077d5a513a49ebe78e44fd2ab6a..3e8cfc2b4c7d4054472ea3b55b8ff27db7adb8ea 100644
--- a/datastore_server/etc/service.properties
+++ b/datastore_server/etc/service.properties
@@ -91,7 +91,7 @@ mail.smtp.password =
 # If this property is set a test e-mail will be sent to the specified address after DSS successfully started-up.
 mail.test.address = test@localhost
 # Email addresses of people to get notifications about problems in dataset registrations
-mail.contact.addresses = admin1@localhost,admin2@localhost
+mail.addresses.dropbox-errors = admin1@localhost,admin2@localhost
 
 # ---------------------------------------------------------------------------
 # Data sources
diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/JythonDataSetRegistrationServiceV2.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/JythonDataSetRegistrationServiceV2.java
index d5dc6d094a9972eb105008dd176ce3ca162d78b8..ec0f23be79ec07dde286fe4654a54bdd34e4e663 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/JythonDataSetRegistrationServiceV2.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/JythonDataSetRegistrationServiceV2.java
@@ -53,7 +53,7 @@ public class JythonDataSetRegistrationServiceV2<T extends DataSetInformation> ex
     static private final Logger operationLog = LogFactory.getLogger(LogCategory.OPERATION,
             JythonDataSetRegistrationServiceV2.class);
 
-    private static final String MAIL_CONTACT_ADDRESSES_KEY = "mail.contact.addresses";
+    private static final String MAIL_CONTACT_ADDRESSES_KEY = "mail.addresses.dropbox-errors";
 
     public JythonDataSetRegistrationServiceV2(
             AbstractProgrammableTopLevelDataSetHandler<T> registrator,
diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/dss/drop-boxes/eln-lims-dropbox/eln-lims-dropbox.py b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/dss/drop-boxes/eln-lims-dropbox/eln-lims-dropbox.py
index a1c3cd1bd9bae2e9a0e53ae6e8037ab2169d4597..702d42812a29c8ef00929dec158a94b459dccd2a 100644
--- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/dss/drop-boxes/eln-lims-dropbox/eln-lims-dropbox.py
+++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/dss/drop-boxes/eln-lims-dropbox/eln-lims-dropbox.py
@@ -26,7 +26,7 @@ NAME_PROPERTY_SET_IN_TWO_PLACES_ERROR_MESSAGE = "$NAME property specified twice,
 EMAIL_SUBJECT = "ELN LIMS Dropbox Error";
 ILLEGAL_FILES = ["desktop.ini", "IconCache.db", "thumbs.db"];
 ILLEGAL_FILES_ERROR_MESSAGE = "Directory or contains illegal files: " + str(ILLEGAL_FILES);
-
+HIDDEN_FILES_ERROR_MESSAGE = "Directory or contains hidden files: files starting with '.'";
 
 def process(transaction):
     incoming = transaction.getIncoming();
@@ -88,6 +88,9 @@ def process(transaction):
             else:
                 raise UserFailureException(INVALID_FORMAT_ERROR_MESSAGE + ":" + FAILED_TO_PARSE_SAMPLE_ERROR_MESSAGE);
 
+            if hasFolderHiddenFiles(incoming):
+                reportIssue(transaction, HIDDEN_FILES_ERROR_MESSAGE + ":"
+                            + FAILED_TO_PARSE_SAMPLE_ERROR_MESSAGE, emailAddress);
             if hasFolderIllegalFiles(incoming):
                 reportIssue(transaction, ILLEGAL_FILES_ERROR_MESSAGE + ":"
                             + FAILED_TO_PARSE_SAMPLE_ERROR_MESSAGE, emailAddress);
@@ -119,6 +122,9 @@ def process(transaction):
             else:
                 raise UserFailureException(INVALID_FORMAT_ERROR_MESSAGE + ":" + FAILED_TO_PARSE_EXPERIMENT_ERROR_MESSAGE);
 
+            if hasFolderHiddenFiles(incoming):
+                reportIssue(transaction, HIDDEN_FILES_ERROR_MESSAGE + ":"
+                            + FAILED_TO_PARSE_EXPERIMENT_ERROR_MESSAGE, emailAddress);
             if hasFolderIllegalFiles(incoming):
                 reportIssue(transaction, ILLEGAL_FILES_ERROR_MESSAGE + ":"
                             + FAILED_TO_PARSE_EXPERIMENT_ERROR_MESSAGE, emailAddress);
@@ -148,7 +154,6 @@ def process(transaction):
         # Move folder to dataset
         filesInFolder = incoming.listFiles();
 
-        # Discard folders started with a . (hidden files)
         itemsInFolder = 0;
         datasetItem = None;
         for item in filesInFolder:
@@ -163,10 +168,7 @@ def process(transaction):
                     if propertyValue is not None:
                         propertyValueString = str(propertyValue)
                         dataSet.setPropertyValue(propertyKey, propertyValueString)
-            elif (not fileName.startswith('.')) and (not fileName == "Thumbs.db"):
-                # Exclude files starting with .
-                # Exclude Mac .DS_Store
-                # Exclude Windows Thumbs.db
+            else:
                 itemsInFolder = itemsInFolder + 1;
                 datasetItem = item;
 
@@ -188,7 +190,7 @@ def process(transaction):
 
 
 def getContactsEmailAddresses(transaction):
-    emailString = getThreadProperties(transaction)["mail.contact.addresses"]
+    emailString = getThreadProperties(transaction)["mail.addresses.dropbox-errors"]
     return re.split("[,;]", emailString)
 
 
@@ -212,6 +214,18 @@ def hasFolderIllegalCharacters(incoming):
     return False;
 
 
+def hasFolderHiddenFiles(incoming):
+    if incoming.getName().startswith("."):
+        return True;
+
+    files = incoming.listFiles()
+    if files is not None:
+        for f in files:
+            if hasFolderHiddenFiles(f):
+                return True;
+
+    return False;
+
 def hasFolderIllegalFiles(incoming):
     if incoming.getName() in ILLEGAL_FILES:
         return True;