diff --git a/packages/file-handling/src/fileupload.js b/packages/file-handling/src/fileupload.js
index 42559432628673de165aa82fcb23d32c5fecac13..5d2bfa435979feefa6fbc3b8a90d4655cf69697d 100644
--- a/packages/file-handling/src/fileupload.js
+++ b/packages/file-handling/src/fileupload.js
@@ -242,6 +242,10 @@ export class FileUpload extends ScopedElementsMixin(VPULitElement) {
                 // isn't supported by JSZip (see https://github.com/Stuk/jszip/issues/281)
                 // using zip.files directly works great!
                 await commonUtils.asyncObjectForEach(zip.files, async (zipEntry) => {
+                    // skip directory entries
+                    if (zipEntry.dir) {
+                        return;
+                    }
                     // TODO: find way to check mime type, see https://github.com/Stuk/jszip/issues/626
                     // if (!this.checkFileType(zipEntry)) {
                     //     return;