diff --git a/src/plugins/qmldesigner/core/model/qmlmodelview.cpp b/src/plugins/qmldesigner/core/model/qmlmodelview.cpp index 708fe73da11..198109c9fa4 100644 --- a/src/plugins/qmldesigner/core/model/qmlmodelview.cpp +++ b/src/plugins/qmldesigner/core/model/qmlmodelview.cpp @@ -300,9 +300,10 @@ void QmlModelView::activateState(const QmlModelState &state) QmlModelState oldState = m_state; NodeInstance newStateInstance = instanceForModelNode(state.modelNode()); - NodeInstance oldStateInstance = instanceForModelNode(oldState.modelNode()); + NodeInstance oldStateInstance = oldState.isValid() ? instanceForModelNode(oldState.modelNode()) : NodeInstance(); if (state.isBaseState()) { - oldStateInstance.deactivateState(); + if (oldStateInstance.isValid()) + oldStateInstance.deactivateState(); } else { newStateInstance.activateState(); }