diff --git a/app/templates/inspections/view.html b/app/templates/inspections/view.html
index d9cc54b..4f3b961 100644
--- a/app/templates/inspections/view.html
+++ b/app/templates/inspections/view.html
@@ -588,10 +588,19 @@
{% elif ftype == 'label' %}
{# Only show labels that are ancestors of rated fields #}
{% if field.id in ns.visible_label_ids %}
- {% if remap.last_orig_row != -1 %}
- {% set remap.out_row = remap.out_row + 1 %}
+ {# Advance row only when original row actually changes #}
+ {% if field.row != remap.last_orig_row %}
+ {% if remap.last_orig_row != -1 %}{% set remap.out_row = remap.out_row + 1 %}{% endif %}
+ {# Flush pending section before the first field on this new row #}
+ {% if remap.pending_sec is not none %}
+
+
{{ remap.pending_sec.label }}
+
+ {% set remap.out_row = remap.out_row + 1 %}
+ {% set remap.pending_sec = none %}
+ {% endif %}
+ {% set remap.last_orig_row = field.row %}
{% endif %}
- {% set remap.last_orig_row = field.row %}
{% set fs_map = {'small':'0.72rem','normal':'0.82rem','large':'0.96rem','x-large':'1.1rem'} %}
+
{{ remap.pending_sec.label }}
+
+ {% set remap.out_row = remap.out_row + 1 %}
+ {% set remap.pending_sec = none %}
+ {% endif %}
+ {% set remap.last_orig_row = field.row %}
{% endif %}
- {# Flush pending section head onto its own row, then advance for data. #}
- {% if remap.pending_sec is not none %}
-
-
{{ remap.pending_sec.label }}
-
- {% set remap.out_row = remap.out_row + 1 %}
- {% set remap.pending_sec = none %}
- {% endif %}
-
- {% set remap.last_orig_row = field.row %}
-
{# Render the field at its original col/colSpan but remapped row #}