diff --git a/modules/io/src/mol/mmcif_reader.cc b/modules/io/src/mol/mmcif_reader.cc
index 595ae05d2da1192c34502e99ef856e13eb4d99ad..b6446f6664f22eee8baeac49ae1a6d31ef59dc4d 100644
--- a/modules/io/src/mol/mmcif_reader.cc
+++ b/modules/io/src/mol/mmcif_reader.cc
@@ -650,8 +650,10 @@ void MMCifParser::ParseCitation(const std::vector<StringRef>& columns)
cit.SetDOI(columns[indices_[PDBX_DATABASE_ID_DOI]].str());
}
if (indices_[PDBX_DATABASE_ID_PUBMED] != -1) {
- cit.SetPubMed(this->TryGetInt(columns[indices_[PDBX_DATABASE_ID_PUBMED]],
- "citation.pdbx_database_id_PubMed"));
+ if (columns[indices_[PDBX_DATABASE_ID_PUBMED]][0]!='?') {
+ cit.SetPubMed(this->TryGetInt(columns[indices_[PDBX_DATABASE_ID_PUBMED]],
+ "citation.pdbx_database_id_PubMed"));
+ }
}
if (indices_[YEAR] != -1) {
cit.SetPubMed(this->TryGetInt(columns[indices_[YEAR]], "citation.year"));