diff --git a/plugins/multisrc/lightnovelwp/template.ts b/plugins/multisrc/lightnovelwp/template.ts
index 8234b5cf4..080b4a452 100644
--- a/plugins/multisrc/lightnovelwp/template.ts
+++ b/plugins/multisrc/lightnovelwp/template.ts
@@ -438,14 +438,65 @@ export class LightNovelWPPlugin implements Plugin.PluginBase {
throw error;
}
}
- return (
- data
- .match(/
]*>([^]*?)<\/p>/g)
- ?.join('\n') || ''
- );
- }
+ // The chapter text lives in the `epcontent` block. Older child themes
+ // closed it with a `bottomnav` div, but that wrapper is gone on current
+ // ones, so anchoring on it silently returned an empty chapter.
+ //
+ // Walk the markup with the parser rather than cutting the document with a
+ // regex: the block has to end at the element that closes it, and any
+ // landmark guessed from the surrounding text is wrong on some site. A
+ //