diff --git a/Sources/Streamer/Parser/Readium/ReadiumWebPubParser.swift b/Sources/Streamer/Parser/Readium/ReadiumWebPubParser.swift index 7b729f1a6..34dd520f2 100644 --- a/Sources/Streamer/Parser/Readium/ReadiumWebPubParser.swift +++ b/Sources/Streamer/Parser/Readium/ReadiumWebPubParser.swift @@ -101,7 +101,14 @@ public class ReadiumWebPubParser: PublicationParser, Loggable { return await manifestResource.readAsRWPM(warnings: warnings) .flatMap(checkProfileRequirements(of:)) .map { manifest in - Publication.Builder( + var manifest = manifest + + // Remove any self link as it is a packaged publication. It + // might be packaged from a streamed manifest which would cause + // issues when serving the relative reading order resources. + manifest.links = manifest.links.filter { !$0.rels.contains(.self) } + + return Publication.Builder( manifest: manifest, container: container, servicesBuilder: PublicationServicesBuilder(setup: {