diff --git a/app/templates/inspections/view.html b/app/templates/inspections/view.html
index e253f44..0de1e82 100644
--- a/app/templates/inspections/view.html
+++ b/app/templates/inspections/view.html
@@ -289,19 +289,22 @@
{% endfor %}
{% if vis.show %}
- {# Flush pending section first #}\n {% if remap.pending_sec is not none %}
+ {# Flush pending section first #}
+ {% if remap.pending_sec is not none %}
{# Section: 1 row tall, spanning all 12 cols #}
{{ remap.pending_sec.label }}
+ {# Section consumed out_row; increment so the next data field gets a fresh row.
+ Set last_orig_row to the current field's original row so the normal
+ row-change check below does NOT fire again (avoiding a double-increment). #}
{% set remap.out_row = remap.out_row + 1 %}
{% set remap.pending_sec = none %}
- {# Set last_orig_row to field.row so the first data field after the section
- does NOT trigger an extra row advance — the section already consumed a row. #}
{% set remap.last_orig_row = field.row %}
{% endif %}
- {# Advance out_row when the original row changes #}
+ {# Advance out_row only when the original row changes between consecutive
+ data fields (section flushes above already handle their own increment). #}
{% if field.row != remap.last_orig_row and remap.last_orig_row != -1 %}
{% set remap.out_row = remap.out_row + 1 %}
{% endif %}