diff --git a/src/Mod/Sketcher/App/SketchObject.cpp b/src/Mod/Sketcher/App/SketchObject.cpp index c48ebb78e..1bde4c70f 100644 --- a/src/Mod/Sketcher/App/SketchObject.cpp +++ b/src/Mod/Sketcher/App/SketchObject.cpp @@ -1042,6 +1042,13 @@ int SketchObject::addExternal(App::DocumentObject *Obj, const char* SubName) std::vector originalObjects = Objects; std::vector originalSubElements = SubElements; + std::vector ::iterator it; + it = std::find(originalSubElements.begin(), originalSubElements.end(), SubName); + + // avoid duplicates + if (it != originalSubElements.end()) + return -1; + // add the new ones Objects.push_back(Obj); SubElements.push_back(std::string(SubName));