diff --git a/src/components/LeftSidebar/InvitationHandler.vue b/src/components/LeftSidebar/InvitationHandler.vue
index 812bfdc56c3..2998c221e72 100644
--- a/src/components/LeftSidebar/InvitationHandler.vue
+++ b/src/components/LeftSidebar/InvitationHandler.vue
@@ -49,19 +49,19 @@
 					<NcButton type="tertiary"
 						aria-label="t('spreed', 'Decline invitation')"
 						title="t('spreed', 'Decline invitation')"
-						:disabled="item.loading"
+						:disabled="isLoading"
 						@click="rejectShare(item.id)">
 						<template #icon>
-							<NcLoadingIcon v-if="item.loading" :size="20" />
+							<NcLoadingIcon v-if="isLoading" :size="20" />
 							<CancelIcon v-else :size="20" />
 						</template>
 					</NcButton>
 					<NcButton type="primary"
 						aria-label="t('spreed', 'Accept invitation')"
-						:disabled="item.loading"
+						:disabled="isLoading"
 						@click="acceptShare(item.id)">
 						<template #icon>
-							<NcLoadingIcon v-if="item.loading" :size="20" />
+							<NcLoadingIcon v-if="isLoading" :size="20" />
 							<CheckIcon v-else :size="20" />
 						</template>
 						{{ t('spreed', 'Accept') }}
@@ -107,6 +107,7 @@ export default {
 	data() {
 		return {
 			modal: false,
+			isLoading: false,
 		}
 	},
 
@@ -136,7 +137,9 @@ export default {
 		},
 
 		async acceptShare(id) {
+			this.isLoading = true
 			const conversation = await this.federationStore.acceptShare(id)
+			this.isLoading = false
 			if (conversation?.token) {
 				this.$store.dispatch('addConversation', conversation)
 				this.$router.push({ name: 'conversation', params: { token: conversation.token } })
@@ -145,7 +148,9 @@ export default {
 		},
 
 		async rejectShare(id) {
+			this.isLoading = true
 			await this.federationStore.rejectShare(id)
+			this.isLoading = false
 			if (this.invitations.length === 0) {
 				this.closeModal()
 			}