diff --git a/program/filters.py b/program/filters.py
index 1a80739ce228b402ce2ff1d22d2c28ba1a95e37e..dc2c841a7caa055563f9665b630d4c3dc45bcaf6 100644
--- a/program/filters.py
+++ b/program/filters.py
@@ -120,11 +120,7 @@ class ShowFilterSet(StaticFilterHelpTextMixin, filters.FilterSet):
     def filter_writable(self, queryset: QuerySet, _: str, value: bool) -> QuerySet:
         user = self.request.user if self.request.user.is_authenticated else None
 
-        # user_is_privileged = (
-        #     user.groups.filter(name=settings.PRIVILEGED_GROUP).exists() if user else False
-        # )
-
-        if value and user.is_superuser:
+        if value and (user.is_superuser or user.has_perm("program.update_show")):
             return queryset
         elif value and user:
             return queryset.filter(owners=user)