diff --git a/generator/sefariasqlite/src/jvmMain/kotlin/io/github/kdroidfilter/seforimlibrary/sefariasqlite/SefariaBookPayloadReader.kt b/generator/sefariasqlite/src/jvmMain/kotlin/io/github/kdroidfilter/seforimlibrary/sefariasqlite/SefariaBookPayloadReader.kt
index 00e1abbd..fa6e89de 100644
--- a/generator/sefariasqlite/src/jvmMain/kotlin/io/github/kdroidfilter/seforimlibrary/sefariasqlite/SefariaBookPayloadReader.kt
+++ b/generator/sefariasqlite/src/jvmMain/kotlin/io/github/kdroidfilter/seforimlibrary/sefariasqlite/SefariaBookPayloadReader.kt
@@ -501,7 +501,7 @@ internal class SefariaBookPayloadReader(
if (depth == 0 || (leafPrimitive != null && leafPrimitive.isString)) {
val content = leafPrimitive?.takeIf { it.isString }?.content
if (!content.isNullOrEmpty()) {
- val cleaned = cleanSefariaLine(content)
+ val cleaned = cleanSefariaLine(content, stripFootnotes = hasTranslatorFootnotes(refPrefix))
if (cleaned.isNotEmpty()) {
output += linePrefix + cleaned
val cleanRef = trimTrailingSeparators(refPrefix)
diff --git a/generator/sefariasqlite/src/jvmMain/kotlin/io/github/kdroidfilter/seforimlibrary/sefariasqlite/SefariaImportText.kt b/generator/sefariasqlite/src/jvmMain/kotlin/io/github/kdroidfilter/seforimlibrary/sefariasqlite/SefariaImportText.kt
index 0ab0bdb6..6020d4d1 100644
--- a/generator/sefariasqlite/src/jvmMain/kotlin/io/github/kdroidfilter/seforimlibrary/sefariasqlite/SefariaImportText.kt
+++ b/generator/sefariasqlite/src/jvmMain/kotlin/io/github/kdroidfilter/seforimlibrary/sefariasqlite/SefariaImportText.kt
@@ -18,8 +18,49 @@ private val OTZAR_MARKUP_REGEX = Regex("""@\d{2}([^}]*)\}""")
// continuous. Collapse them to a single space so paragraphs read as prose.
private val HTML_LINE_BREAK_REGEX = Regex("""
""", RegexOption.IGNORE_CASE)
-internal fun cleanSefariaLine(raw: String): String {
+// Ref prefixes of sections whose footnotes are a translator's apparatus rather
+// than part of the printed sefer. Noda BiYehudah I's Orach Chaim comes from
+// Harold Landa's edition, whose footnotes mix English notes with Hebrew
+// sources followed by Sefaria's English translations (kdroidFilter/Zayit#439).
+private val TRANSLATOR_FOOTNOTE_REF_PREFIXES = listOf("Noda BiYehudah I, Orach Chaim,")
+
+internal fun hasTranslatorFootnotes(ref: String): Boolean =
+ TRANSLATOR_FOOTNOTE_REF_PREFIXES.any { ref.startsWith(it) }
+
+private val FOOTNOTE_MARKER_REGEX = Regex("""""")
+private const val FOOTNOTE_OPEN = """