diff --git a/preprocessor/preprocessor/preprocess.py b/preprocessor/preprocessor/preprocess.py
index 17a0490844d27870b86874e5d53ae04f8508ed7b..93f8b7b5a4fcb7b6f0506ea17908023ffd097bc5 100644
--- a/preprocessor/preprocessor/preprocess.py
+++ b/preprocessor/preprocessor/preprocess.py
@@ -223,6 +223,10 @@ def preprocess_file(config: dict, file_path: os.PathLike, use_dir: os.PathLike=N
         uploader = get_uploader(
             target_config['type'], target_config.get('args'), target_config.get('kwargs')
         )
+        if len(os.listdir('upload')) == 0:
+            # end here, so not only metadata file is uploaded
+            raise Exception('No data files to upload, aborting.')
+        
         paths_for_upload = ['upload', 'extra']
         upload_filenames = []
         for path_to_upload in paths_for_upload:
diff --git a/preprocessor/preprocessor/transfer/swift.py b/preprocessor/preprocessor/transfer/swift.py
index 333c9f03652f3c370abb24a9aca818ae7abe67ba..b5178397d73463763c1a8f0b0f4d73894a884fc4 100644
--- a/preprocessor/preprocessor/transfer/swift.py
+++ b/preprocessor/preprocessor/transfer/swift.py
@@ -65,8 +65,6 @@ class Uploader(Base):
     """
     def upload(self, local_path: Union[os.PathLike, List[os.PathLike]], remote_dir: os.PathLike) -> List[os.PathLike]:
         paths = local_path if isinstance(local_path, List) else [local_path]
-        if len(paths) == 0:
-            raise Exception('No files are were found to be uploaded.')
         remote_paths = [
             os.path.join(
                 remote_dir,