diff --git a/gtsam/inference/BayesTree-inl.h b/gtsam/inference/BayesTree-inl.h index 3398b0803..1f6562d28 100644 --- a/gtsam/inference/BayesTree-inl.h +++ b/gtsam/inference/BayesTree-inl.h @@ -253,8 +253,12 @@ namespace gtsam { if (clique->isRoot()) root_.reset(); - else // detach clique from parent - clique->parent_.lock()->children_.remove(clique); + else { // detach clique from parent + sharedClique parent = clique->parent_.lock(); + std::list::iterator child = std::find(parent->children().begin(), parent->children().end(), clique); + assert(child != parent->children().end()); + parent->children().erase(child); + } // orphan my children BOOST_FOREACH(sharedClique child, clique->children_)