diff --git a/src/components/shows/AHousekeeping.vue b/src/components/shows/AHousekeeping.vue
index 61ef93f6029920e84b333c2ac1df460dcd7e1011..14f7ac7fea5f5d9d3a4e1093ab24179157e1a880 100644
--- a/src/components/shows/AHousekeeping.vue
+++ b/src/components/shows/AHousekeeping.vue
@@ -5,18 +5,24 @@
   >
     <AFieldset class="tw-bg-white" :title="t('show.housekeeping.title')">
       <div class="tw-flex tw-gap-6 tw-flex-wrap">
-        <AHousekeepingSection :title="t('show.housekeeping.flows.archival')">
-          <AShowArchivalFlow :show="show" />
-        </AHousekeepingSection>
-        <AHousekeepingSection :title="t('show.housekeeping.flows.deletion')">
-          <AShowDeletionFlow :show="show" />
-        </AHousekeepingSection>
-        <AHousekeepingSection
-          :title="t('show.housekeeping.flows.slugRenaming')"
-          class="tw-flex-[2] tw-max-w-xl"
-        >
-          <AShowSlugRenamingFlow :show="show" />
-        </AHousekeepingSection>
+        <APermissionGuard show-permissions="program.edit__show__is_active">
+          <AHousekeepingSection :title="t('show.housekeeping.flows.archival')">
+            <AShowArchivalFlow :show="show" />
+          </AHousekeepingSection>
+        </APermissionGuard>
+        <APermissionGuard show-permissions="program.delete_show">
+          <AHousekeepingSection :title="t('show.housekeeping.flows.deletion')">
+            <AShowDeletionFlow :show="show" />
+          </AHousekeepingSection>
+        </APermissionGuard>
+        <APermissionGuard show-permissions="program.edit__show__slug">
+          <AHousekeepingSection
+            :title="t('show.housekeeping.flows.slugRenaming')"
+            class="tw-flex-[2] tw-max-w-xl"
+          >
+            <AShowSlugRenamingFlow :show="show" />
+          </AHousekeepingSection>
+        </APermissionGuard>
       </div>
     </AFieldset>
   </div>
@@ -30,6 +36,7 @@ import AShowDeletionFlow from '@/components/shows/AShowDeletionFlow.vue'
 import AShowSlugRenamingFlow from '@/components/shows/AShowSlugRenamingFlow.vue'
 import AHousekeepingSection from '@/components/shows/AHousekeepingSection.vue'
 import AFieldset from '@/components/generic/AFieldset.vue'
+import APermissionGuard from '@/components/generic/APermissionGuard.vue'
 
 defineProps<{
   show: Show
diff --git a/src/components/shows/AShowArchivalFlow.vue b/src/components/shows/AShowArchivalFlow.vue
index b7e93c08560ea47a287a1e90e8520369ca8da02b..3fcef14dbe636d403c712fce00cd07951c1efb6d 100644
--- a/src/components/shows/AShowArchivalFlow.vue
+++ b/src/components/shows/AShowArchivalFlow.vue
@@ -1,15 +1,10 @@
 <template>
-  <FormGroup
-    v-slot="{ disabled }"
-    :errors="isActive.errors"
-    edit-permissions="program.edit__show__is_active"
-  >
+  <FormGroup :errors="isActive.errors">
     <div>
       <template v-if="isActive.value">
         <button
           type="button"
           class="btn btn-default tw-w-full tw-justify-center"
-          :disabled="disabled"
           @click="confirmShowDeactivation"
         >
           <Loading v-if="isActive.isSaving" class="tw-h-2" />
diff --git a/src/components/shows/AShowDeletionFlow.vue b/src/components/shows/AShowDeletionFlow.vue
index 51c58b529a1a5bc0246cd9aa51216ae583a2bc03..4a5553279cc3c466b8842d5286c72e3f9af0f4a2 100644
--- a/src/components/shows/AShowDeletionFlow.vue
+++ b/src/components/shows/AShowDeletionFlow.vue
@@ -1,10 +1,9 @@
 <template>
-  <FormGroup v-slot="{ disabled }" :errors="errors" edit-permissions="program.delete_show">
+  <FormGroup :errors="errors">
     <div>
       <button
         type="button"
         class="btn btn-default tw-w-full tw-justify-center"
-        :disabled="disabled"
         @click="confirmDeleteShow"
       >
         <Loading v-if="isProcessing" class="tw-h-2" />
diff --git a/src/components/shows/AShowSlugRenamingFlow.vue b/src/components/shows/AShowSlugRenamingFlow.vue
index 796d4c2d93558df1ed96d62cede017430f863ee0..708f2ab25b978e7f8f0934563f482c5635115a2a 100644
--- a/src/components/shows/AShowSlugRenamingFlow.vue
+++ b/src/components/shows/AShowSlugRenamingFlow.vue
@@ -1,5 +1,5 @@
 <template>
-  <FormGroup v-slot="attrs" :errors="slug.errors" edit-permissions="program.edit__show__slug">
+  <FormGroup v-slot="attrs" :errors="slug.errors">
     <div>
       <div class="tw-flex tw-gap-2 tw-flex-wrap">
         <input v-model="newSlug" type="text" v-bind="attrs" class="tw-min-w-48 tw-flex-[2]" />