diff --git a/theme/templates/macros/common.html b/theme/templates/macros/common.html
index 314557d2091a78acfc4caa1116e8034472996654..735b59d049d08c106ddec28863ad324087ded632 100644
--- a/theme/templates/macros/common.html
+++ b/theme/templates/macros/common.html
@@ -70,12 +70,20 @@
 
 
 {%- macro render_header_raw(content, level, attr, lang, visuallyhidden=false) -%}
-	{%- set ns = namespace(extra_classes=[]) -%}
+	{%- set ns = namespace(extra_classes=[], level=level) -%}
+
 	{%- if visuallyhidden -%}
 		{%- set ns.extra_classes = ["visuallyhidden"] -%}
 	{%- endif -%}
+
+	{%- if ns.level < 1 -%}
+		{%- set ns.level = 1 -%}
+	{%- elif ns.level > 6 -%}
+		{%- set ns.level = 6 -%}
+	{%- endif -%}
+
 	<header {{ render_attr(attr, lang, extra_classes=ns.extra_classes) }}>
-		<h{{ level }}>{{ caller() }}</h{{ level }}>
+		<h{{ ns.level }}>{{ caller() }}</h{{ ns.level }}>
 	</header>
 {%- endmacro -%}