diff --git a/cli/src/main/java/dev/fitko/fitconnect/cli/CommandExecutor.java b/cli/src/main/java/dev/fitko/fitconnect/cli/CommandExecutor.java
index d6fc41b0b7b91b4050239e7d01b2f3b59541c1fe..26beed4e404d15ad4c99752f5c58bee533215e83 100644
--- a/cli/src/main/java/dev/fitko/fitconnect/cli/CommandExecutor.java
+++ b/cli/src/main/java/dev/fitko/fitconnect/cli/CommandExecutor.java
@@ -189,8 +189,10 @@ class CommandExecutor {
         LOGGER.info("Writing data.{}", fileEnding);
         Files.write(filePath, receivedSubmission.getDataAsString().getBytes(StandardCharsets.UTF_8));
 
-        for (final Attachment attachment : receivedSubmission.getAttachments()) {
-            final String filename = attachment.getFileName();
+        final List<Attachment> attachments = receivedSubmission.getAttachments();
+        for (int i = 0; i < attachments.size(); i++) {
+            final Attachment attachment = attachments.get(i);
+            final String filename = attachment.getFileName() != null ? attachment.getFileName() : "attachment_" + i;
             LOGGER.info("Writing attachment {}", filename);
             Files.write(Path.of(dataDirPath, filename), attachment.getDataAsBytes());
         }