diff --git a/gtsam/nonlinear/ISAM2-impl.cpp b/gtsam/nonlinear/ISAM2-impl.cpp index f37856679..8b3bd4a0d 100644 --- a/gtsam/nonlinear/ISAM2-impl.cpp +++ b/gtsam/nonlinear/ISAM2-impl.cpp @@ -168,12 +168,13 @@ FastSet ISAM2::Impl::CheckRelinearizationPartial(const ISAM2Clique::share FastSet relinKeys; - if(relinearizeThreshold.type() == typeid(double)) { - CheckRelinearizationRecursiveDouble(relinKeys, boost::get(relinearizeThreshold), delta, root); - - } else if(relinearizeThreshold.type() == typeid(FastMap)) { - Ordering::InvertedMap decoder = ordering.invert(); - CheckRelinearizationRecursiveMap(relinKeys, boost::get >(relinearizeThreshold), delta, decoder, root); + if(root) { + if(relinearizeThreshold.type() == typeid(double)) { + CheckRelinearizationRecursiveDouble(relinKeys, boost::get(relinearizeThreshold), delta, root); + } else if(relinearizeThreshold.type() == typeid(FastMap)) { + Ordering::InvertedMap decoder = ordering.invert(); + CheckRelinearizationRecursiveMap(relinKeys, boost::get >(relinearizeThreshold), delta, decoder, root); + } } return relinKeys;