diff --git a/modules/mol/base/src/impl/atom_impl.cc b/modules/mol/base/src/impl/atom_impl.cc
index 3339ead628335fd62bfa23600a9a4a03dffacfcf..bf66239bb46741d3de82d4dbd2a1384717f59a46 100644
--- a/modules/mol/base/src/impl/atom_impl.cc
+++ b/modules/mol/base/src/impl/atom_impl.cc
@@ -356,20 +356,21 @@ String AtomImpl::GetStringProperty(Prop::ID prop_id) const
 void AtomImpl::DeleteAllTorsions() {
   EntityImplPtr e=this->GetEntity();
   TorsionImplMap::iterator i;
-  while (true) {
-    for (i=e->GetTorsionMap().begin(); i!=e->GetTorsionMap().end(); ++i) {
-      if (i->second->IsAtomInvolved(shared_from_this())) {
-        e->GetTorsionMap().erase(i);
-        continue;
-      }
-    }
-    break;
+  std::vector<TorsionImplMap::iterator> t_rm_vec;
+  for (i=e->GetTorsionMap().begin(); i!=e->GetTorsionMap().end(); ++i) {
+     if (i->second->IsAtomInvolved(shared_from_this())) {
+        t_rm_vec.push_back(i);
+     }
+  }
+  std::vector<TorsionImplMap::iterator>::iterator it_rm;
+  for (it_rm=t_rm_vec.begin(); it_rm!=t_rm_vec.end(); ++it_rm) {
+     e->GetTorsionMap().erase(*it_rm);
   }
   TorsionImplList& l=this->GetResidue()->GetTorsionList();
   TorsionImplList::iterator j;
   j=std::remove_if(l.begin(), l.end(),
                    bind(&TorsionImpl::IsAtomInvolved, _1, shared_from_this()));
-   l.erase(j, l.end());
+  l.erase(j, l.end());
 }
 
 }}} // ns
diff --git a/modules/mol/base/tests/test_delete.cc b/modules/mol/base/tests/test_delete.cc
index 4a361afc9b0a4cd59453a7c0368c4bab8349fc12..ccbce7045a54980a158f07ffe5afb3babc631671 100644
--- a/modules/mol/base/tests/test_delete.cc
+++ b/modules/mol/base/tests/test_delete.cc
@@ -77,4 +77,4 @@ BOOST_AUTO_TEST_CASE(atom_delete)
   BOOST_CHECK_NO_THROW(f.e.Apply(ev));
 }
 
-BOOST_AUTO_TEST_SUITE_END()
\ No newline at end of file
+BOOST_AUTO_TEST_SUITE_END()
diff --git a/modules/mol/base/tests/test_view.cc b/modules/mol/base/tests/test_view.cc
index ebfdf10bb729a732357cc12212d19ff36a0d389b..cfe3a395c5cbaae2e2390c95609874afcdf55233 100644
--- a/modules/mol/base/tests/test_view.cc
+++ b/modules/mol/base/tests/test_view.cc
@@ -27,8 +27,8 @@
 using namespace ost;
 using namespace ost::mol;
 
-struct Fixture {
-  Fixture() {
+struct FixtureView {
+  FixtureView() {
     e=CreateEntity();
     XCSEditor editor=e.EditXCS();
     c=editor.InsertChain("A");
@@ -54,7 +54,7 @@ BOOST_AUTO_TEST_SUITE( mol_base )
 
 BOOST_AUTO_TEST_CASE(gen_full_view) 
 {
-  Fixture f;
+  FixtureView f;
 
   EntityView ev = f.e.CreateFullView();
   BOOST_CHECK_EQUAL(ev.GetChainCount(),f.e.GetChainCount());