diff --git a/lib/src/processing/lists.dart b/lib/src/processing/lists.dart
index d52403f060..d87a77c8de 100644
--- a/lib/src/processing/lists.dart
+++ b/lib/src/processing/lists.dart
@@ -58,6 +58,15 @@ class ListProcessing {
     // Add the counters for the current scope.
     tree.counters.addAll(counters?.deepCopy() ?? []);
 
+    // Check if the current node is an 
 element and has a start attribute.
+    if (tree.name == 'ol' &&
+        tree.element?.attributes.containsKey('start') == true) {
+      final startValue =
+          int.tryParse(tree.element?.attributes['start'] ?? '1') ?? 1;
+      tree.style.counterReset ??= {};
+      tree.style.counterReset!['list-item'] = startValue - 1;
+    }
+
     // Create any new counters
     if (tree.style.counterReset != null) {
       tree.style.counterReset!.forEach((counterName, initialValue) {