diff --git a/modules/mol/base/tests/test_chain.cc b/modules/mol/base/tests/test_chain.cc
index ee4d933d0c095766079bb4278774d41d97a74ae3..39ffd35e205cd320cc926af7e4a440f838109b2c 100644
--- a/modules/mol/base/tests/test_chain.cc
+++ b/modules/mol/base/tests/test_chain.cc
@@ -87,16 +87,38 @@ BOOST_AUTO_TEST_CASE(test_comparison)
   BOOST_CHECK(cc==ch1);
 }
 
-
 BOOST_AUTO_TEST_CASE(throw_invalid_chain_handle)
 {
   EntityHandle ent=CreateEntity();
-  ChainHandle chain=ent.FindChain("A");
-  BOOST_CHECK_THROW(CheckHandleValidity(chain), InvalidHandle);
+  ChainHandle ch=ent.FindChain("A");
+  BOOST_CHECK_THROW(CheckHandleValidity(ch), InvalidHandle);
   XCSEditor edi=ent.EditXCS();
   edi.InsertChain("A");
-  chain=ent.FindChain("A");
-  BOOST_CHECK_NO_THROW(CheckHandleValidity(chain));
+  ch=ent.FindChain("A");
+  BOOST_CHECK_NO_THROW(CheckHandleValidity(ch));
+
+
+  EntityHandle eh1 = CreateEntity();
+  XCSEditor e1=eh1.EditXCS();
+  ChainHandle chain = e1.InsertChain("C");
+  ResidueHandle res1 = e1.AppendResidue(chain, "FOO", ResNum(13));
+  AtomHandle atom1 = e1.InsertAtom(res1, "X1",geom::Vec3());
+  AtomHandle atom2 = e1.InsertAtom(res1, "X2",geom::Vec3());
+  ResidueHandle res2 = e1.AppendResidue(chain, "FOO", ResNum(42));
+  e1.InsertAtom(res2, "X1",geom::Vec3());
+  e1.InsertAtom(res2, "X2",geom::Vec3());
+
+  EntityHandle eh2=CreateEntity();
+  XCSEditor e2=eh2.EditXCS();
+  ChainHandle inserted_chain1 = e2.InsertChain("Q",chain);
+  res1.SetIntProp("amazing",42);
+  ResidueHandle inserted_residue1 = e2.AppendResidue(inserted_chain1,res1);
+  BOOST_CHECK(inserted_residue1!=res1);
+  BOOST_CHECK(eh2.GetResidueCount()==1);
+  BOOST_CHECK(eh2.GetAtomCount()==0);
+  BOOST_CHECK(inserted_residue1.HasProp("amazing"));
+  ResidueHandle inserted_residue2 = e2.AppendResidue(inserted_chain1,res2,true);
+  BOOST_CHECK(eh2.GetAtomCount()==2);
 }
 
 BOOST_AUTO_TEST_CASE(throw_invalid_chain_view)
diff --git a/modules/mol/base/tests/test_entity.cc b/modules/mol/base/tests/test_entity.cc
index 47ffcbd73c2a32e749ae40b049a59a58178c6c0e..767b68bb3ba14f55eca9afde0a3158c5fcab06eb 100644
--- a/modules/mol/base/tests/test_entity.cc
+++ b/modules/mol/base/tests/test_entity.cc
@@ -136,8 +136,24 @@ BOOST_AUTO_TEST_CASE(entity_creator)
   BOOST_CHECK(eh.GetAtomCount()==2);
   
   BOOST_CHECK(eh.GetAtomCount()==chain.GetAtomCount());
-  BOOST_CHECK(eh.GetResidueCount()==chain.GetResidueCount());    
-  
+  BOOST_CHECK(eh.GetResidueCount()==chain.GetResidueCount());
+
+  chain.SetIntProp("amazing",42);
+  EntityHandle eh2 = CreateEntity();
+  XCSEditor e2 = eh2.EditXCS();
+  ChainHandle inserted_chain=e2.InsertChain("Q",chain);
+  BOOST_CHECK(eh2.GetChainCount()==1);
+  BOOST_CHECK(eh2.GetResidueCount()==0);
+  BOOST_CHECK(eh2.GetAtomCount()==0);
+  BOOST_CHECK(inserted_chain.HasProp("amazing"));
+  BOOST_CHECK(eh2.FindChain("Q").IsValid());
+
+  EntityHandle eh3 = CreateEntity();
+  XCSEditor e3 = eh3.EditXCS();
+  e3.InsertChain("Q",chain,true);
+  BOOST_CHECK(eh3.GetResidueCount()==1);
+  BOOST_CHECK(eh3.GetAtomCount()==2);
+
   EntityVisitor v;
   eh.Apply(v);
 }