diff --git a/calendar_utils/management/commands/update_callendars.py b/calendar_utils/management/commands/update_callendars.py
index d1c51b56670280b919d5779555ea884d46eb6acf..1d73aa0e64d09886d86192f44b7f63a156013a26 100644
--- a/calendar_utils/management/commands/update_callendars.py
+++ b/calendar_utils/management/commands/update_callendars.py
@@ -32,6 +32,7 @@ class Command(BaseCommand):
         self.stdout.write("Updating calendars...")
         for cal in Calendar.objects.all():
             self.stdout.write(f"\n@ {cal.id} | {cal.url}")
+            
             try:
                 cal.update_source()
                 self.stdout.write("+ ok")
diff --git a/district/forms.py b/district/forms.py
index 26d60fb837a73c083366bcd4cd43ca6622505733..fb2974ad69dfab4118700df61415e3b68e00953f 100644
--- a/district/forms.py
+++ b/district/forms.py
@@ -84,3 +84,7 @@ class DistrictArticlesPageForm(SharedArticlesPageForm, JekyllImportForm):
                 .order_by("name")
                 .distinct("name")
             )
+        else:
+            self.fields["shared_tags"].queryset = DistrictArticleTag.objects.filter(id=-1)
+            self.fields["displayed_tags"].queryset = DistrictArticleTag.objects.filter(id=-1)
+            self.fields["displayed_shared_tags"].queryset = SharedTag.objects.filter(id=-1)
diff --git a/elections/forms.py b/elections/forms.py
index e2bd6ed79d3e26df8cc4b8c3e3fb64f91d0a7493..246b89d8bfffb0fb3e9b2e723e28be57db6b2966 100644
--- a/elections/forms.py
+++ b/elections/forms.py
@@ -45,9 +45,21 @@ class ElectionsArticlesPageForm(SharedArticlesPageForm, JekyllImportForm):
                 .values_list("tag_id", flat=True)
                 .distinct()
             )
+            valid_shared_tag_ids = (
+                self.instance.shared_tags.values_list("id", flat=True).distinct().all()
+            )
 
             self.fields["displayed_tags"].queryset = (
                 ElectionsArticleTag.objects.filter(id__in=valid_tag_ids)
                 .order_by("tag__name")
                 .distinct("tag__name")
             )
+            self.fields["displayed_shared_tags"].queryset = (
+                SharedTag.objects.filter(id__in=valid_shared_tag_ids)
+                .order_by("name")
+                .distinct("name")
+            )
+        else:
+            self.fields["shared_tags"].queryset = ElectionsArticleTag.objects.filter(id=-1)
+            self.fields["displayed_tags"].queryset = ElectionsArticleTag.objects.filter(id=-1)
+            self.fields["displayed_shared_tags"].queryset = SharedTag.objects.filter(id=-1)
diff --git a/main/forms.py b/main/forms.py
index d6af8e4210df4180a95c79c6874c600b37e62141..5917307f58d4e26d90eea9c4be5999995ea16fd2 100644
--- a/main/forms.py
+++ b/main/forms.py
@@ -45,9 +45,21 @@ class MainArticlesPageForm(SharedArticlesPageForm, JekyllImportForm):
                 .values_list("tag_id", flat=True)
                 .distinct()
             )
+            valid_shared_tag_ids = (
+                self.instance.shared_tags.values_list("id", flat=True).distinct().all()
+            )
 
             self.fields["displayed_tags"].queryset = (
                 MainArticleTag.objects.filter(id__in=valid_tag_ids)
                 .order_by("tag__name")
                 .distinct("tag__name")
             )
+            self.fields["displayed_shared_tags"].queryset = (
+                SharedTag.objects.filter(id__in=valid_shared_tag_ids)
+                .order_by("name")
+                .distinct("name")
+            )
+        else:
+            self.fields["shared_tags"].queryset = MainArticleTag.objects.filter(id=-1)
+            self.fields["displayed_tags"].queryset = MainArticleTag.objects.filter(id=-1)
+            self.fields["displayed_shared_tags"].queryset = SharedTag.objects.filter(id=-1)
\ No newline at end of file
diff --git a/shared/forms.py b/shared/forms.py
index 776b1b61f43688c75b1f7d067a569e6521338388..3347d90630bf608fe987c081b9650dbc7e99ef86 100644
--- a/shared/forms.py
+++ b/shared/forms.py
@@ -77,15 +77,18 @@ class TagModelChoiceField(ModelMultipleChoiceField):
         return obj.tag.name
 
 
+from taggit.models import Tag
+
+
 class ArticlesPageForm(ClusterForm):
     displayed_tags = TagModelChoiceField(
-        queryset=None,
+        queryset=Tag.objects.filter(id=-1),
         required=False,
         label="Z tohoto webu",
         widget=CheckboxSelectMultiple,
     )
     displayed_shared_tags = ModelMultipleChoiceField(
-        queryset=None,
+        queryset=Tag.objects.filter(id=-1),
         required=False,
         label="Sdílecí",
         help_text=(
@@ -96,7 +99,7 @@ class ArticlesPageForm(ClusterForm):
     )
 
     shared_tags = ModelMultipleChoiceField(
-        queryset=None,
+        queryset=Tag.objects.filter(id=-1),
         required=False,
         label="Štítky pro sdílení mezi weby",
         help_text="Články z ostatních webů se štítky, které vybereš, se ukážou na tomto webu.",
diff --git a/uniweb/forms.py b/uniweb/forms.py
index efcb9e249004be233372f16bca86b5467f7d3de0..2c00933f4b2beeb0ae4ed913d1dfcef3f42a9225 100644
--- a/uniweb/forms.py
+++ b/uniweb/forms.py
@@ -1,5 +1,6 @@
 from wagtail.admin.forms import WagtailAdminPageForm
 
+from django.forms.models import ModelChoiceIterator
 from shared.forms import ArticlesPageForm as SharedArticlesPageForm
 
 
@@ -24,13 +25,10 @@ class UniwebHomePageAdminForm(WagtailAdminPageForm):
 class UniwebArticlesPageForm(SharedArticlesPageForm, WagtailAdminPageForm):
     def __init__(self, *args, **kwargs):
         from shared.models import SharedTag
-
         from .models import UniwebArticleTag
 
         super().__init__(*args, **kwargs)
 
-        self.fields["shared_tags"].queryset = SharedTag.objects.order_by("name")
-
         if self.instance.pk:
             valid_tag_ids = (
                 UniwebArticleTag.objects.filter(
@@ -39,9 +37,21 @@ class UniwebArticlesPageForm(SharedArticlesPageForm, WagtailAdminPageForm):
                 .values_list("id", flat=True)
                 .distinct()
             )
+            valid_shared_tag_ids = (
+                self.instance.shared_tags.values_list("id", flat=True).distinct().all()
+            )
 
             self.fields["displayed_tags"].queryset = (
                 UniwebArticleTag.objects.filter(id__in=valid_tag_ids)
                 .order_by("tag__name")
                 .distinct("tag__name")
             )
+            self.fields["displayed_shared_tags"].queryset = (
+                SharedTag.objects.filter(id__in=valid_shared_tag_ids)
+                .order_by("name")
+                .distinct("name")
+            )
+        else:
+            self.fields["shared_tags"].queryset = UniwebArticleTag.objects.filter(id=-1)
+            self.fields["displayed_tags"].queryset = UniwebArticleTag.objects.filter(id=-1)
+            self.fields["displayed_shared_tags"].queryset = SharedTag.objects.filter(id=-1)
\ No newline at end of file