diff --git a/src/Gui/Document.cpp b/src/Gui/Document.cpp index f1207b0cbf..a3e1e75acb 100644 --- a/src/Gui/Document.cpp +++ b/src/Gui/Document.cpp @@ -672,13 +672,14 @@ void Document::setEditingTransform(const Base::Matrix4D &mat) { void Document::resetEdit() { bool vpIsNotNull = d->_editViewProvider != nullptr; + bool vpHasChanged = d->_editViewProvider != d->_editViewProviderPrevious; int modeToRestore = d->_editModePrevious; Gui::ViewProvider* vpToRestore = d->_editViewProviderPrevious; bool shouldRestorePrevious = d->_editWantsRestorePrevious; Application::Instance->setEditDocument(nullptr); - if (vpIsNotNull && shouldRestorePrevious) { + if (vpIsNotNull && vpHasChanged && shouldRestorePrevious) { setEdit(vpToRestore, modeToRestore); } }