diff --git a/packages/file-handling/src/clipboard.js b/packages/file-handling/src/clipboard.js
index e21b14c011298666e100c798b8d3dd1c3a74634b..14a1f9936d2c3545a79de589e0995c7abc2f07aa 100644
--- a/packages/file-handling/src/clipboard.js
+++ b/packages/file-handling/src/clipboard.js
@@ -35,6 +35,8 @@ export class Clipboard extends ScopedElementsMixin(AdapterLitElement) {
         this.isFileSource = false;
         this.isFileSink = false;
 
+        this.demo = false;
+
         // To avoid a cyclic dependency
         import('./file-sink').then(({ FileSink }) => this.defineScopedElement('dbp-file-sink', FileSink));
         import('./file-source').then(({ FileSource }) => this.defineScopedElement('dbp-file-source', FileSource));
@@ -66,6 +68,8 @@ export class Clipboard extends ScopedElementsMixin(AdapterLitElement) {
 
             isFileSource: {type: Boolean, attribute: 'file-source' },
             isFileSink: {type: Boolean, attribute: 'file-sink' },
+
+            demo: {type: Boolean, attribute: 'demo-clipboard' },
         };
     }
 
@@ -434,9 +438,6 @@ export class Clipboard extends ScopedElementsMixin(AdapterLitElement) {
                 data.files.push( row.getData().file )
             );
             this.sendSetPropertyEvent('clipboard-files', data);
-            const event = new CustomEvent("dbp-clipboard-file-picker-file-uploaded",
-                {  bubbles: true, composed: true });
-            this.dispatchEvent(event);
             send({
                 "summary": i18n.t('clipboard.clear-count-clipboard-title', {count: count}),
                 "body": i18n.t('clipboard.clear-count-clipboard-body', {count: count}),
@@ -447,9 +448,6 @@ export class Clipboard extends ScopedElementsMixin(AdapterLitElement) {
         } else {
             let data = {"files": []};
             this.sendSetPropertyEvent('clipboard-files', data);
-            const event = new CustomEvent("dbp-clipboard-file-picker-file-uploaded",
-                {  bubbles: true, composed: true });
-            this.dispatchEvent(event);
             send({
                 "summary": i18n.t('clipboard.clear-clipboard-title'),
                 "body": i18n.t('clipboard.clear-clipboard-body'),
@@ -502,7 +500,7 @@ export class Clipboard extends ScopedElementsMixin(AdapterLitElement) {
                                 nextcloud-web-dav-url="${this.nextcloudWebDavURL}"
                                 nextcloud-name="${this.nextcloudName}"
                                 nextcloud-file-url="${this.nextcloudFileURL}"
-                                enabled-targets="${this.enabledTargets}"
+                                enabled-targets="${this.demo ? this.enabledTargets : this.enabledTargets.replace('clipboard', '')}"
                                 decompress-zip
                                 lang="${this.lang}"
                                 text="${i18n.t('clipboard.upload-area-text')}"
@@ -516,14 +514,13 @@ export class Clipboard extends ScopedElementsMixin(AdapterLitElement) {
                                    context="${(this.numberOfSelectedFiles > 0) ? i18n.t('clipboard.save-count', {count: this.numberOfSelectedFiles}) : i18n.t('clipboard.save-all')}"
                                    filename="clipboard-documents.zip"
                                    allowed-mime-types="${this.allowedMimeTypes}"
-                                   enabled-targets="${this.enabledTargets}"
+                                   enabled-targets="${this.demo ? this.enabledTargets : this.enabledTargets.replace('clipboard', '')}"
                                    show-clipboard
                                    nextcloud-auth-url="${this.nextcloudWebAppPasswordURL}"
                                    nextcloud-web-dav-url="${this.nextcloudWebDavURL}"
                                    nextcloud-name="${this.nextcloudName}"
                                    nextcloud-file-url="${this.nextcloudFileURL}"
                                    lang="${this.lang}"
-                                   subscribe="nextcloud-file-url:nextcloud-file-url"
                     ></dbp-file-sink>
         `;
     }
diff --git a/packages/file-handling/src/dbp-nextcloud-file-picker.js b/packages/file-handling/src/dbp-nextcloud-file-picker.js
index b8be6ba04aea572df842485048b82f7c07b6b17e..9db43cd57e1e96a3c1ce9b236006485f2b9becaf 100644
--- a/packages/file-handling/src/dbp-nextcloud-file-picker.js
+++ b/packages/file-handling/src/dbp-nextcloud-file-picker.js
@@ -1503,7 +1503,7 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
                         <button id="download-button" class="button select-button is-primary ${classMap({hidden: ((!this.directoriesOnly)  || (this.directoriesOnly && this.abortUploadButton && this.forAll))})}"
                                 @click="${() => { this.sendDirectory(this.tabulatorTable.getSelectedData()); }}" 
                                 ?disabled="${!this.isSelected}">
-                            ${this.folderIsSelected}</button>
+                            <dbp-icon class="nav-icon" name="cloud-upload"></dbp-icon> ${this.folderIsSelected}</button>
                         <button class="button select-button is-primary ${classMap({hidden: this.directoriesOnly})}"
                                 @click="${() => { this.downloadFiles(this.tabulatorTable.getSelectedData()); }}"
                                 ?disabled="${!this.isSelected}">
diff --git a/packages/file-handling/src/file-sink.js b/packages/file-handling/src/file-sink.js
index 77ce0f91ed318e50acab282aa76eb1a53999a6c6..63cd9f2786729a2177045ad5642a617bb178d969 100644
--- a/packages/file-handling/src/file-sink.js
+++ b/packages/file-handling/src/file-sink.js
@@ -243,6 +243,7 @@ export class FileSink extends ScopedElementsMixin(DBPLitElement) {
                    file-sink
                    lang="${this.lang}"
                    auth-url="${this.nextcloudAuthUrl}"
+                   enabled-targets="${this.enabledTargets}"
                    nextcloud-auth-url="${this.nextcloudAuthUrl}"
                    nextcloud-web-dav-url="${this.nextcloudWebDavUrl}"
                    nextcloud-name="${this.nextcloudName}"
diff --git a/packages/file-handling/src/file-source.js b/packages/file-handling/src/file-source.js
index 34005ad48fd7b6b84049d3088db48187e8f7f9db..9c642ac19bedf8878114a4274e923335d07b6b7d 100644
--- a/packages/file-handling/src/file-source.js
+++ b/packages/file-handling/src/file-source.js
@@ -377,7 +377,6 @@ export class FileSource extends ScopedElementsMixin(DBPLitElement) {
 
         if (this.enabledTargets.includes('clipboard') && this._("#clipboard-file-picker")) {
             this._("#clipboard-file-picker").generateClipboardTable();
-            this._("#clipboard-file-picker").showSelectAllButton = true;
         }
 
         const filePicker = this._('#modal-picker');
@@ -431,6 +430,7 @@ export class FileSource extends ScopedElementsMixin(DBPLitElement) {
                    file-source
                    subscribe="clipboard-files:clipboard-files"
                    lang="${this.lang}"
+                   enabled-targets="${this.enabledTargets}"
                    auth-url="${this.nextcloudAuthUrl}"
                    allowed-mime-types="${this.allowedMimeTypes}"
                    @dbp-clipboard-file-picker-file-downloaded="${(event) => {