diff --git a/modules/io/src/mol/mmcif_reader.cc b/modules/io/src/mol/mmcif_reader.cc
index 905e28442bab8bd68300426bdeb99df8c6d4cb0e..2df3966fa93ae8d304333144cee362a4537dc759 100644
--- a/modules/io/src/mol/mmcif_reader.cc
+++ b/modules/io/src/mol/mmcif_reader.cc
@@ -509,6 +509,9 @@ void MMCifReader::ParseAndAddAtom(const std::vector<StringRef>& columns)
 
   if(!curr_residue_) { // unit test
     update_residue=true;
+    subst_res_id_ = cif_chain_name +
+                    columns[indices_[AUTH_SEQ_ID]].str() +
+                    columns[indices_[PDBX_PDB_INS_CODE]].str();
   } else if (!valid_res_num) {
     if (indices_[AUTH_SEQ_ID] != -1 &&
         indices_[PDBX_PDB_INS_CODE] != -1) {