diff --git a/modules/io/src/mol/mmcif_reader.cc b/modules/io/src/mol/mmcif_reader.cc
index 5561fdd8d3ded1cae568228a384b7cb7b39736a6..0e35c4cfe86bd0edd03a989ac712c7a21d274e7a 100644
--- a/modules/io/src/mol/mmcif_reader.cc
+++ b/modules/io/src/mol/mmcif_reader.cc
@@ -1704,9 +1704,8 @@ void MMCifReader::ParseStructRefSeqDif(const std::vector<StringRef>& columns)
 
   std::pair<bool,int> seq_rnum;
   if (indices_[SRSD_SEQ_RNUM] != -1) {
-    StringRef col = columns[indices_[SRSD_SEQ_RNUM]];
-    if (col.size()!=1 || (col[0]!='?' && col[0]!='.')) {
-      seq_rnum=this->TryGetInt(col,
+    if (!is_undef(columns[indices_[SRSD_SEQ_RNUM]])) {
+      seq_rnum=this->TryGetInt(columns[indices_[SRSD_SEQ_RNUM]],
                                "_struct_ref_seq_dif.seq_num",
                                profile_.fault_tolerant);
     }