diff --git a/modules/io/src/mol/mmcif_reader.cc b/modules/io/src/mol/mmcif_reader.cc
index 814ee0662003e0dc45e26ac6fda1d6cc49116a2f..45275c6b09244de827918083990f05fa000087c2 100644
--- a/modules/io/src/mol/mmcif_reader.cc
+++ b/modules/io/src/mol/mmcif_reader.cc
@@ -761,8 +761,11 @@ void MMCifParser::ParseExptl(const std::vector<StringRef>& columns)
 
 void MMCifParser::ParseRefine(const std::vector<StringRef>& columns)
 {
-  info_.SetResolution(this->TryGetReal(columns[indices_[LS_D_RES_HIGH]],
-                                       "refine.ls_d_res_high"));
+  StringRef col=columns[indices_[LS_D_RES_HIGH]];
+  if (col.size()!=1 || (col[0]!='?' && col[0]!='.')) {
+    info_.SetResolution(this->TryGetReal(columns[indices_[LS_D_RES_HIGH]],
+                                         "refine.ls_d_res_high"));
+  }
 }
 
 void MMCifParser::ParsePdbxStructAssembly(const std::vector<StringRef>& columns)