diff --git a/modules/mol/base/src/chain_type.cc b/modules/mol/base/src/chain_type.cc
index 6694aa017ab0c7cf89ba6e8d5cce6d2b495940f2..0820407c7b70821a42444cfb3dc6b0c9f97690fc 100644
--- a/modules/mol/base/src/chain_type.cc
+++ b/modules/mol/base/src/chain_type.cc
@@ -59,7 +59,9 @@ ChainType ChainTypeFromString(StringRef identifier)
   } else if (StringRef("oligosaccharide", 15) == identifier) {
     return CHAINTYPE_OLIGOSACCHARIDE;
   } else if (StringRef("other", 5) == identifier) {
-    return CHAINTYPE_UNKNOWN;
+    // According to the mmCIF dictionary, "other" only exists in
+    // _entity_poly.type. Therefore, "other" can only be a generic polymer.
+    return CHAINTYPE_POLY;
   }
 
   throw Error("Unrecognised chain type descriptor found: '" +
diff --git a/modules/mol/base/src/chain_type.hh b/modules/mol/base/src/chain_type.hh
index 08ce4dcc6462a726a367eaf34708b789d684dcc0..27e1910e61bdd58bbf98df8d6d28bf4042d48744 100644
--- a/modules/mol/base/src/chain_type.hh
+++ b/modules/mol/base/src/chain_type.hh
@@ -28,6 +28,11 @@
 namespace ost { namespace mol {
 
 /// \enum different kinds of chains
+///
+/// Warning: this class mixes vocabulary from _entity.type and
+// _entity_poly.type, which is more detailed. As a result it cannot be used to
+/// to read/write mmCIF entity types accurately.
+
 typedef enum {
   CHAINTYPE_POLY,           ///< polymer
   CHAINTYPE_NON_POLY,       ///< non-polymer