diff --git a/packages/file-handling/src/nextcloud-file-picker.js b/packages/file-handling/src/nextcloud-file-picker.js
index b020ffa1498e6a711f268d2694e8b235e163fdba..2521f62ab6553c7af7fca82929a63ace6994e9d7 100644
--- a/packages/file-handling/src/nextcloud-file-picker.js
+++ b/packages/file-handling/src/nextcloud-file-picker.js
@@ -1637,44 +1637,7 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
                     }
                 })
                 .catch((error) => {
-                    this.loading = false;
-                    if(error.response && error.response.status) {
-                        switch (error.response.status) {
-                            case 403:
-                                this.statusText =  html`
-                                    <span class="error">
-                                        <dbp-icon name="warning-high"></dbp-icon>
-                                        ${i18n.t('nextcloud-file-picker.forbidden')}
-                                    </span>`;
-                                return;
-                            case 415:
-                                this.statusText =  html`
-                                    <span class="error">
-                                        <dbp-icon name="warning-high"></dbp-icon>
-                                        ${i18n.t('nextcloud-file-picker.file-error')}
-                                    </span>`;
-                                this.sendSetPropertyEvent('analytics-event', {
-                                    category: 'FileHandlingNextcloud',
-                                    action: 'UploadFilesPutfilesError',
-                                    name: "415",
-                                });
-                                return;
-                            default:
-                                break;
-                        }
-                    }
-
-                    this.statusText =  html`
-                                    <span class="error">
-                                        <dbp-icon name="warning-high"></dbp-icon>
-                                        ${i18n.t('nextcloud-file-picker.file-upload-error')}
-                                        </span>`;
-                    this.sendSetPropertyEvent('analytics-event', {
-                        category: 'FileHandlingNextcloud',
-                        action: 'UploadFilesPutfilesError',
-                        name: error,
-                    });
-                    console.error(error);
+                    this.uploadError(error);
                 });
         } else {
             this.loadDirectory(this.directoryPath);
@@ -1695,6 +1658,48 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
         }
     }
 
+    uploadError(error) {
+        const i18n = this._i18n;
+        this.loading = false;
+        if(error.response && error.response.status) {
+            switch (error.response.status) {
+                case 403:
+                    this.statusText =  html`
+                                    <span class="error">
+                                        <dbp-icon name="warning-high"></dbp-icon>
+                                        ${i18n.t('nextcloud-file-picker.forbidden')}
+                                    </span>`;
+                    return;
+                case 415:
+                    this.statusText =  html`
+                                    <span class="error">
+                                        <dbp-icon name="warning-high"></dbp-icon>
+                                        ${i18n.t('nextcloud-file-picker.file-error')}
+                                    </span>`;
+                    this.sendSetPropertyEvent('analytics-event', {
+                        category: 'FileHandlingNextcloud',
+                        action: 'UploadFilesPutfilesError',
+                        name: "415",
+                    });
+                    return;
+                default:
+                    break;
+            }
+        }
+
+        this.statusText =  html`
+                                    <span class="error">
+                                        <dbp-icon name="warning-high"></dbp-icon>
+                                        ${i18n.t('nextcloud-file-picker.file-upload-error')}
+                                        </span>`;
+        this.sendSetPropertyEvent('analytics-event', {
+            category: 'FileHandlingNextcloud',
+            action: 'UploadFilesPutfilesError',
+            name: error,
+        });
+        console.error(error);
+    }
+
     /**
      * Upload a file after a conflict happens on webdav side
      *
@@ -1766,7 +1771,7 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
                         this.replaceModalDialog(file, directory);
                     }
                 } else {
-                    throw error;
+                    this.uploadError(error);
                 }
             });