diff --git a/templates/macro/form.html b/templates/macro/form.html
index 72af87f5..7f7952be 100644
--- a/templates/macro/form.html
+++ b/templates/macro/form.html
@@ -1,19 +1,18 @@
-{% macro checkbox(item, metadata, parent=none, delete=false) %}
+{% macro checkbox(name, id, prefix, url, checked, parent=none, delete=false) %}
   {% if g.login.is_authenticated() %}
-    {% set prefix=metadata.as_dataset() %}
-    <input class="form-check-input" type="checkbox" id="{{ prefix }}-{{ item.fields.id }}" {% if item.fields[metadata.as_column()] %}checked{% endif %}
+    <input class="form-check-input" type="checkbox" id="{{ prefix }}-{{ id }}" {% if checked %}checked{% endif %}
     {% if not delete %}
-      data-changer-id="{{ item.fields.id }}" data-changer-prefix="{{ prefix }}" data-changer-url="{{ metadata.url_for_set_state(item.fields.id) }}" {% if parent %}data-changer-parent="{{ parent }}"{% endif %}
+      data-changer-id="{{ id }}" data-changer-prefix="{{ prefix }}" data-changer-url="{{ url }}" {% if parent %}data-changer-parent="{{ parent }}"{% endif %}
     {% else %}
       disabled
     {% endif %}
       autocomplete="off">
-    <label class="form-check-label flex-grow-1 ms-1" for="{{ prefix }}-{{ item.fields.id }}">
-      {{ metadata.fields.name }} <i id="status-{{ prefix }}-{{ item.fields.id }}"></i>
+    <label class="form-check-label flex-grow-1 ms-1" for="{{ prefix }}-{{ id }}">
+      {{ name }} <i id="status-{{ prefix }}-{{ id }}"></i>
     </label>
   {% else %}
-    <input class="form-check-input text-reset" type="checkbox" {% if item.fields[metadata.as_column()] %}checked{% endif %} disabled>
-    {{ text }}
+    <input class="form-check-input text-reset" type="checkbox" {% if checked %}checked{% endif %} disabled>
+    {{ name }}
   {% endif %}
 {% endmacro %}
 
diff --git a/templates/set/card.html b/templates/set/card.html
index 924bcd75..77cf33fa 100644
--- a/templates/set/card.html
+++ b/templates/set/card.html
@@ -83,7 +83,7 @@
   {% if not tiny and brickset_statuses | length %}
     <ul class="list-group list-group-flush card-check border-bottom-0">
       {% for status in brickset_statuses %}
-        <li class="d-flex list-group-item {% if not solo %}p-1{% endif %} text-nowrap">{{ form.checkbox(item, status, parent='set', delete=delete) }}</li>
+        <li class="d-flex list-group-item {% if not solo %}p-1{% endif %} text-nowrap">{{ form.checkbox(status.fields.name, item.fields.id, status.as_dataset(), status.url_for_set_state(item.fields.id), item.fields[status.as_column()], parent='set', delete=delete) }}</li>
       {% endfor %}
     </ul>
   {% endif %}
diff --git a/templates/set/management.html b/templates/set/management.html
index ade6729c..ea9b5012 100644
--- a/templates/set/management.html
+++ b/templates/set/management.html
@@ -4,7 +4,7 @@
       <ul class="list-group list-group-flush">
       {% if brickset_owners | length %}
         {% for owner in brickset_owners %}
-          <li class="d-flex list-group-item list-group-item-action text-nowrap">{{ form.checkbox(item, owner, delete=delete) }}</li>
+          <li class="d-flex list-group-item list-group-item-action text-nowrap">{{ form.checkbox(owner.fields.name, item.fields.id, owner.as_dataset(), owner.url_for_set_state(item.fields.id), item.fields[owner.as_column()], delete=delete) }}</li>
         {% endfor %}
       {% else %}
         <li class="list-group-item list-group-item-action text-center"><i class="ri-error-warning-line"></i> No owner found.</li>
@@ -47,7 +47,7 @@
       <ul class="list-group list-group-flush">
       {% if brickset_tags | length %}
         {% for tag in brickset_tags %}
-          <li class="d-flex list-group-item list-group-item-action text-nowrap">{{ form.checkbox(item, tag, delete=delete) }}</li>
+          <li class="d-flex list-group-item list-group-item-action text-nowrap">{{ form.checkbox(tag.fields.name, item.fields.id, tag.as_dataset(), tag.url_for_set_state(item.fields.id), item.fields[tag.as_column()], delete=delete) }}</li>
         {% endfor %}
       {% else %}
         <li class="list-group-item list-group-item-action text-center"><i class="ri-error-warning-line"></i> No tag found.</li>