diff --git a/district/migrations/0299_districthomepage_custom_logo_dark_and_more.py b/district/migrations/0299_districthomepage_custom_logo_dark_and_more.py
new file mode 100644
index 0000000000000000000000000000000000000000..3c7d280de5364e0fb287447cf9183b87538a9573
--- /dev/null
+++ b/district/migrations/0299_districthomepage_custom_logo_dark_and_more.py
@@ -0,0 +1,25 @@
+# Generated by Django 5.1.2 on 2024-10-29 11:31
+
+import django.db.models.deletion
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('district', '0298_districtoctopuspersonpage_originating_role_and_more'),
+        ('wagtailimages', '0026_delete_uploadedimage'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='districthomepage',
+            name='custom_logo_dark',
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='+', to='wagtailimages.image', verbose_name='obrázek'),
+        ),
+        migrations.AddField(
+            model_name='districthomepage',
+            name='custom_logo_light',
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='+', to='wagtailimages.image', verbose_name='obrázek'),
+        ),
+    ]
diff --git a/district/migrations/0300_remove_districthomepage_custom_logo_dark_and_more.py b/district/migrations/0300_remove_districthomepage_custom_logo_dark_and_more.py
new file mode 100644
index 0000000000000000000000000000000000000000..f3feba5567360cdb886d83806f7ce0cf7105b94a
--- /dev/null
+++ b/district/migrations/0300_remove_districthomepage_custom_logo_dark_and_more.py
@@ -0,0 +1,33 @@
+# Generated by Django 5.1.2 on 2024-10-29 12:14
+
+import django.db.models.deletion
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('district', '0299_districthomepage_custom_logo_dark_and_more'),
+        ('wagtailimages', '0026_delete_uploadedimage'),
+    ]
+
+    operations = [
+        migrations.RemoveField(
+            model_name='districthomepage',
+            name='custom_logo_dark',
+        ),
+        migrations.RemoveField(
+            model_name='districthomepage',
+            name='custom_logo_light',
+        ),
+        migrations.AddField(
+            model_name='districthomepage',
+            name='dark_logo',
+            field=models.ForeignKey(blank=True, help_text='Pokud žádné nezadáte, použije se default logo pirátů', null=True, on_delete=django.db.models.deletion.PROTECT, related_name='+', to='wagtailimages.image', verbose_name='Logo pro web (tmavá verze)'),
+        ),
+        migrations.AddField(
+            model_name='districthomepage',
+            name='light_logo',
+            field=models.ForeignKey(blank=True, help_text='Pokud žádné nezadáte, použije se default logo pirátů', null=True, on_delete=django.db.models.deletion.PROTECT, related_name='+', to='wagtailimages.image', verbose_name='Logo pro web (světlá verze)'),
+        ),
+    ]
diff --git a/district/models.py b/district/models.py
index 1b632c3d1abb340092b7ef0ad1e90ec5808b8925..45009d45d82f5cd7d602b355d66282b10912c8ca 100644
--- a/district/models.py
+++ b/district/models.py
@@ -63,6 +63,7 @@ from shared.models import (
     MainSearchPageMixin,
     MainSimplePageMixin,
     PageInMenuMixin,
+    CustomLogoMixin,
     PdfPageMixin,
     SharedTaggedDistrictArticle,
     SubpageMixin,
@@ -88,7 +89,7 @@ CONTENT_BLOCKS = DEFAULT_CONTENT_BLOCKS + [
 ]
 
 
-class DistrictHomePage(CalendarMixin, MainHomePageMixin):
+class DistrictHomePage(CustomLogoMixin, CalendarMixin, MainHomePageMixin):
     ### FIELDS
 
     # Main section
@@ -180,6 +181,13 @@ class DistrictHomePage(CalendarMixin, MainHomePageMixin):
     menu_panels = [
         FieldPanel("title_suffix"),
         FieldPanel("meta_title_suffix"),
+        MultiFieldPanel(
+            [
+                FieldPanel("dark_logo"),
+                FieldPanel("light_logo")
+            ],
+            "Vlastní logo"
+        ),
     ] + MainHomePageMixin.menu_panels
 
     footer_panels = MainHomePageMixin.footer_panels + [
diff --git a/district/templates/district/district_home_page.html b/district/templates/district/district_home_page.html
index 987c79089244ba8f9da83cc21d3803d0777946ca..f9ee3c9b573c8968920a918b747b90d234d5276d 100644
--- a/district/templates/district/district_home_page.html
+++ b/district/templates/district/district_home_page.html
@@ -2,7 +2,6 @@
 {% load wagtailcore_tags %}
 
 {% block content %}
-
   {% include 'styleguide2/includes/organisms/layout/district/navbar.html' with is_transparent=True %}
 
   <main role="main">
diff --git a/shared/models/main.py b/shared/models/main.py
index f4453e1e7d403f7740a65e06cee213b20dbd4267..d50abc7d0d84e910cf5dd7436a10b0514ff52973 100644
--- a/shared/models/main.py
+++ b/shared/models/main.py
@@ -2164,6 +2164,31 @@ class PdfPageMixin(models.Model):
         return self.pdf_file.url
 
 
+class CustomLogoMixin(models.Model):
+    dark_logo = models.ForeignKey(
+        "wagtailimages.Image",
+        on_delete=models.PROTECT,
+        blank=True,
+        null=True,
+        verbose_name="Logo pro web (tmavá verze)",
+        help_text="Pokud žádné nezadáte, použije se default logo pirátů",
+        related_name="+",
+    )
+
+    light_logo = models.ForeignKey(
+        "wagtailimages.Image",
+        on_delete=models.PROTECT,
+        blank=True,
+        null=True,
+        verbose_name="Logo pro web (světlá verze)",
+        help_text="Pokud žádné nezadáte, použije se default logo pirátů",
+        related_name="+",
+    )
+
+    class Meta:
+        abstract = True
+
+
 # --- END Whole page mixins ---
 
 
diff --git a/shared/templates/styleguide2/includes/organisms/layout/district/navbar.html b/shared/templates/styleguide2/includes/organisms/layout/district/navbar.html
index 4a377990976ea041acdad282eecfb1aeb2cfbd94..9ec34f34d282366415b736c34792029e544981e3 100644
--- a/shared/templates/styleguide2/includes/organisms/layout/district/navbar.html
+++ b/shared/templates/styleguide2/includes/organisms/layout/district/navbar.html
@@ -25,13 +25,15 @@
       alt="{% if light_logo %}{{ light_logo.alt }}{% else %}Pirátské logo{% endif %}"
     >
 
-    <div class="font-alt text-xl w-[100px]">
-      {% if page.root_page.title_suffix %}
-        {{ page.root_page.title_suffix }}
-      {% else %}
-        {{ page.root_page.title }}
-      {% endif %}
-    </div>
+    {% if not light_logo %}
+      <div class="font-alt text-xl w-[100px]">
+        {% if page.root_page.title_suffix %}
+          {{ page.root_page.title_suffix }}
+        {% else %}
+          {{ page.root_page.title }}
+        {% endif %}
+      </div>
+    {% endif %}
   </div>
 
   <div
@@ -48,13 +50,15 @@
       alt="{% if dark_logo %}{{ dark_logo.alt }}{% else %}Pirátské logo{% endif %}"
     >
 
-    <div class="font-alt text-xl w-[100px]">
-      {% if page.root_page.title_suffix %}
-        {{ page.root_page.title_suffix }}
-      {% else %}
-        {{ page.root_page.title }}
-      {% endif %}
-    </div>
+    {% if not dark_logo %}
+      <div class="font-alt text-xl w-[100px]">
+        {% if page.root_page.title_suffix %}
+          {{ page.root_page.title_suffix }}
+        {% else %}
+          {{ page.root_page.title }}
+        {% endif %}
+      </div>
+    {% endif %}
   </div>
 {% endblock %}
 
diff --git a/uniweb/migrations/0113_alter_uniwebhomepage_dark_logo_and_more.py b/uniweb/migrations/0113_alter_uniwebhomepage_dark_logo_and_more.py
new file mode 100644
index 0000000000000000000000000000000000000000..91f875450aa85f60ccde26a3262090042f6f85da
--- /dev/null
+++ b/uniweb/migrations/0113_alter_uniwebhomepage_dark_logo_and_more.py
@@ -0,0 +1,25 @@
+# Generated by Django 5.1.2 on 2024-10-29 12:14
+
+import django.db.models.deletion
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('uniweb', '0112_alter_uniwebarticlepage_content_and_more'),
+        ('wagtailimages', '0026_delete_uploadedimage'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='uniwebhomepage',
+            name='dark_logo',
+            field=models.ForeignKey(blank=True, help_text='Pokud žádné nezadáte, použije se default logo pirátů', null=True, on_delete=django.db.models.deletion.PROTECT, related_name='+', to='wagtailimages.image', verbose_name='Logo pro web (tmavá verze)'),
+        ),
+        migrations.AlterField(
+            model_name='uniwebhomepage',
+            name='light_logo',
+            field=models.ForeignKey(blank=True, help_text='Pokud žádné nezadáte, použije se default logo pirátů', null=True, on_delete=django.db.models.deletion.PROTECT, related_name='+', to='wagtailimages.image', verbose_name='Logo pro web (světlá verze)'),
+        ),
+    ]
diff --git a/uniweb/models.py b/uniweb/models.py
index bb243552617d5ae4044557539d81cc98d55597a0..3a94942b6088b4c100b68c9eb93edd2b64cfc49f 100644
--- a/uniweb/models.py
+++ b/uniweb/models.py
@@ -41,6 +41,7 @@ from shared.models import (
     PdfPageMixin,
     ScrollProgressMixin,
     SharedTaggedUniwebArticle,
+    CustomLogoMixin,
     SocialMixin,
     SubpageMixin,
 )
@@ -68,6 +69,7 @@ class UniwebHomePage(
     LegacyFooterMixin,
     PageInMenuMixin,
     ScrollProgressMixin,
+    CustomLogoMixin,
     MainHomePageMixin,
 ):
     base_form_class = UniwebHomePageAdminForm
@@ -99,26 +101,6 @@ class UniwebHomePage(
         use_json_field=True,
     )
 
-    dark_logo = models.ForeignKey(
-        "wagtailimages.Image",
-        on_delete=models.PROTECT,
-        blank=True,
-        null=True,
-        verbose_name="Logo pro web (tmavá verze)",
-        help_text="Pokud žádné nezadáte, použije se default logo pirátů",
-        related_name="uniweb_dark_logo_image",
-    )
-
-    light_logo = models.ForeignKey(
-        "wagtailimages.Image",
-        on_delete=models.PROTECT,
-        blank=True,
-        null=True,
-        verbose_name="Logo pro web (světlá verze)",
-        help_text="Pokud žádné nezadáte, použije se default logo pirátů",
-        related_name="uniweb_light_logo_image",
-    )
-
     hide_footer = models.BooleanField(
         "skrýt patičku", default=False, help_text="Chcete skrýt patičku?"
     )