diff --git a/modules/mol/alg/src/molck.cc b/modules/mol/alg/src/molck.cc
index 294e996b97944e04283830bc0b58ebe380a81603..ef5585d897e74bfd079066ac37ffc57ac774cf7e 100644
--- a/modules/mol/alg/src/molck.cc
+++ b/modules/mol/alg/src/molck.cc
@@ -2,6 +2,7 @@
 #include <ost/mol/alg/nonstandard.hh>
 #include <ost/conop/model_check.hh>
 #include <ost/conop/amino_acids.hh>
+#include <ost/conop/rule_based.hh>
 #include <ost/mol/alg/molck.hh>
 
 using namespace ost::conop;
@@ -39,10 +40,13 @@ void ost::mol::alg::MapNonStandardResidues(EntityHandle& ent, CompoundLibPtr lib
         } 
         ResidueHandle dest_res = new_edi.AppendResidue(new_chain,OneLetterCodeToResidueName(compound->GetOneLetterCode()),r->GetNumber());
         ost::mol::alg::CopyResidue(*r,dest_res,new_edi,lib);
-      }   
-    }        
+      }
+    }
   }
   ent = new_ent;
+  // Since we didn't do it in-place: reprocess the new entity
+  RuleBasedProcessor pr(lib);
+  pr.Process(ent);
 }
 
 void ost::mol::alg::RemoveAtoms(