diff --git a/shared/blocks.py b/shared/blocks.py
index 287d53cb0399353f7f85639f96a55dba9bbb09d9..de51ed4a817992a555601e7779a5d2b5ed1d2877 100644
--- a/shared/blocks.py
+++ b/shared/blocks.py
@@ -331,6 +331,20 @@ class ButtonBlock(blocks.StructBlock):
 
         return super().clean(value)
 
+    def get_context(self, value, parent_context=None):
+        context = super().get_context(value, parent_context)
+
+        if value["icon"]:
+            context["icon_class"] = (
+                value["icon"]
+                if value["icon"].startswith("ico--")
+                else f"ico--{value['icon']}"
+            )
+        else:
+            context["icon_class"] = None
+
+        return context
+
 
 class ButtonGroupBlock(blocks.StructBlock):
     buttons = blocks.ListBlock(ButtonBlock(), label="Tlačítka")
diff --git a/shared/templates/styleguide/2.3.x/blocks/button_block.html b/shared/templates/styleguide/2.3.x/blocks/button_block.html
index 7a8fe5f4caf1c0be609a5a2246263d86d8352985..9279ac84f53dc706223357374618247d3de65b86 100644
--- a/shared/templates/styleguide/2.3.x/blocks/button_block.html
+++ b/shared/templates/styleguide/2.3.x/blocks/button_block.html
@@ -3,10 +3,10 @@
 {% if self.align == 'center' %}<div class="text-center">{% endif %}
 <a href="{{ target }}" class="btn btn--{{ self.color }} {% if self.hoveractive %}btn--hoveractive{% endif %} {% if self.icon %}btn--icon{% endif %} text-{{ self.size }} {% if self.mobile_fullwidth %}btn--fullwidth md:btn--autowidth{% else %}btn--autowidth{% endif %}"
 >
-    {% if self.icon %}
+    {% if icon_class %}
         <div class="btn__body-wrap">
             <div class="btn__body ">{{ self.title }}</div>
-            <div class="btn__icon "><i class="ico--{{ self.icon }}"></i></div>
+            <div class="btn__icon "><i class="{{ icon_class }}"></i></div>
         </div>
     {% else %}
         <div class="btn__body ">{{ self.title }}</div>