diff --git a/main/blocks.py b/main/blocks.py
index 76b73be55d7fc037ed6fac418b7bb12ccf1d8d3d..ea4246d53a440ab947365f7d6601f09ac09ded7d 100644
--- a/main/blocks.py
+++ b/main/blocks.py
@@ -116,7 +116,10 @@ class ProgramBlock(StructBlock):
         label="Odkaz pokrývající celou tuto část",
         required=False,
     )
-    icon = ImageChooserBlock(label="Ikona")
+    icon = ImageChooserBlock(
+        label="Ikona",
+        required=False,
+    )
     title = CharBlock(label="Titulek článku programu")
     text = RichTextBlock(label="Obsah")
 
diff --git a/main/migrations/0039_alter_mainprogrampage_program.py b/main/migrations/0039_alter_mainprogrampage_program.py
new file mode 100644
index 0000000000000000000000000000000000000000..150a5cad948de6ed22a39323486d59402dde9e2d
--- /dev/null
+++ b/main/migrations/0039_alter_mainprogrampage_program.py
@@ -0,0 +1,21 @@
+# Generated by Django 4.0.7 on 2022-12-30 13:16
+
+from django.db import migrations
+import wagtail.blocks
+import wagtail.fields
+import wagtail.images.blocks
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('main', '0038_alter_maincrossroadpage_cards_content_and_more'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='mainprogrampage',
+            name='program',
+            field=wagtail.fields.StreamField([('program_group', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek části programu')), ('slug', wagtail.blocks.CharBlock(help_text='Není třeba vyplňovat, bude automaticky vyplněno', label='Slug části programu', required=False)), ('point_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('url', wagtail.blocks.URLBlock(label='Odkaz pokrývající celou tuto část', required=False)), ('icon', wagtail.images.blocks.ImageChooserBlock(label='Ikona', required=False)), ('title', wagtail.blocks.CharBlock(label='Titulek článku programu')), ('text', wagtail.blocks.RichTextBlock(label='Obsah'))]), label='Jednotlivé články programu'))], label='Část programu'))], blank=True, use_json_field=None, verbose_name='Program'),
+        ),
+    ]
diff --git a/main/templates/main/main_program_page.html b/main/templates/main/main_program_page.html
index 134d189eaafcd1ec9655da4fb028a24d745ec0ba..f7190022749ba45918885a2bd6ac26d3a689d7ac 100644
--- a/main/templates/main/main_program_page.html
+++ b/main/templates/main/main_program_page.html
@@ -40,10 +40,11 @@
                   {% else %}
                     <div class="grid-container mb-12">
                   {% endif %}
-
-                      {% image item.icon max-150x150 as icon %}
-                      <img src="{{ icon.url }}" alt="{{ item.title }}" class="grid-left-side mr-6 text-6xl xl:justify-self-end">
-                      <div class="grid-content flex flex-col">
+                      {% if item.icon %}
+                        {% image item.icon max-150x150 as icon %}
+                        <img src="{{ icon.url }}" alt="{{ item.title }}" class="grid-left-side mr-6 text-6xl xl:justify-self-end">
+                      {% endif %}
+                      <div class="{% if item.icon %}grid-content{% else %}grid-left-side-with-content{% endif %} flex flex-col">
                         <h3 class="font-alt mb-4 text-4xl">
                           {{ item.title }}
                         </h3>