diff --git a/src/node/utils/ExportHtml.ts b/src/node/utils/ExportHtml.ts
index fd83416546e..4871629f0f1 100644
--- a/src/node/utils/ExportHtml.ts
+++ b/src/node/utils/ExportHtml.ts
@@ -470,7 +470,10 @@ const getHTMLFromAtext = async (pad:PadType, atext: AText, authorColors?: string
// preserve counters so numbering can continue after interruptions.
// Use 0 as sentinel (not delete) so the ol-opening logic knows this
// level was explicitly reset and won't fall back to line.start.
- if (diff + 1 > actualNextLevel) {
+ // Only reset when closing an ordered list — closing an unordered list
+ // at the same level must not poison the ol counter for a future
+ // unrelated ol at this level (which would still want line.start).
+ if (line.listTypeName === 'number' && diff + 1 > actualNextLevel) {
olItemCounts[diff + 1] = 0;
}