diff --git a/modules/io/src/mol/mmcif_writer.cc b/modules/io/src/mol/mmcif_writer.cc
index e14ff97d3d3c61ab4cb0513d17d24a83f98a56d4..230e4e35912174db0ce299323bc5c44380243be0 100644
--- a/modules/io/src/mol/mmcif_writer.cc
+++ b/modules/io/src/mol/mmcif_writer.cc
@@ -1344,7 +1344,7 @@ namespace {
               }
             }
 
-            if(entity_infos[entity_idx].poly_type == "polydeoxyribonucleotide") {
+            else if(entity_infos[entity_idx].poly_type == "polydeoxyribonucleotide") {
               entity_infos[entity_idx].mon_ids[mon_id_idx] = "DN"; 
               entity_infos[entity_idx].seq_olcs[mon_id_idx] = "(DN)"; 
               entity_infos[entity_idx].seq_can_olcs[mon_id_idx] = "N";
@@ -1355,7 +1355,7 @@ namespace {
               }
             }
 
-            if(entity_infos[entity_idx].poly_type == "polyribonucleotide" ||
+            else if(entity_infos[entity_idx].poly_type == "polyribonucleotide" ||
                entity_infos[entity_idx].poly_type == "polydeoxyribonucleotide/polyribonucleotide hybrid") {
               entity_infos[entity_idx].mon_ids[mon_id_idx] = "N"; 
               entity_infos[entity_idx].seq_olcs[mon_id_idx] = "N"; 
@@ -1366,6 +1366,13 @@ namespace {
                 comp_infos["N"] = info;
               }
             }
+
+            else {
+              std::stringstream ss;
+              ss << "Gaps are not supported for polymer chains of type ";
+              ss << entity_infos[entity_idx].poly_type;
+              throw ost::io::IOException(ss.str());
+            }
           } 
         }
       }