Index: src/libchcore/ConfigNodeContainer.cpp =================================================================== diff -u -N -r17518cb4e2c229cb291fc23e58d74c9d9d8c658a -r4572f6cddf7dab06b1de99504a6bbd3680d11e6d --- src/libchcore/ConfigNodeContainer.cpp (.../ConfigNodeContainer.cpp) (revision 17518cb4e2c229cb291fc23e58d74c9d9d8c658a) +++ src/libchcore/ConfigNodeContainer.cpp (.../ConfigNodeContainer.cpp) (revision 4572f6cddf7dab06b1de99504a6bbd3680d11e6d) @@ -240,7 +240,10 @@ { // NOTE: PredIsPrefixedWith registers the object IDs as deleted in m_setRemovedObjects (for change management purposes) if (pred(*iterCurrent)) + { iterCurrent = m_mic.erase(iterCurrent); + bWasFoundBefore = true; + } else if (bWasFoundBefore) break; // as the elements are sorted, when we matched something earlier and now we don't - it means that there are no more matching elements else