diff --git a/readium/streamer/src/main/java/org/readium/r2/streamer/parser/epub/Metadata.kt b/readium/streamer/src/main/java/org/readium/r2/streamer/parser/epub/Metadata.kt
index 6b4ae2453b..e331305806 100644
--- a/readium/streamer/src/main/java/org/readium/r2/streamer/parser/epub/Metadata.kt
+++ b/readium/streamer/src/main/java/org/readium/r2/streamer/parser/epub/Metadata.kt
@@ -196,10 +196,11 @@ internal class PubMetadataAdapter(
val identifier: String?
init {
- val identifiers = items[Vocabularies.DCTERMS + "identifier"]
- ?.associate { Pair(it.property, it.value) }.orEmpty()
+ val identifiers = items[Vocabularies.DCTERMS + "identifier"].orEmpty()
- identifier = uniqueIdentifierId?.let { identifiers[it] } ?: identifiers.values.firstOrNull()
+ identifier = uniqueIdentifierId
+ ?.let { uniqueId -> identifiers.firstOrNull { it.id == uniqueId }?.value }
+ ?: identifiers.firstOrNull()?.value
}
val published = firstValue(Vocabularies.DCTERMS + "date")?.iso8601ToDate()
diff --git a/readium/streamer/src/test/resources/org/readium/r2/streamer/parser/epub/package/identifier-unique.opf b/readium/streamer/src/test/resources/org/readium/r2/streamer/parser/epub/package/identifier-unique.opf
index d71be02ddf..7aa0c07138 100644
--- a/readium/streamer/src/test/resources/org/readium/r2/streamer/parser/epub/package/identifier-unique.opf
+++ b/readium/streamer/src/test/resources/org/readium/r2/streamer/parser/epub/package/identifier-unique.opf
@@ -3,8 +3,9 @@
Alice's Adventures in Wonderland
- 978-3-16-148410-0
+ BEQ
urn:uuid:2
+ 978-3-16-148410-0