diff --git a/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp b/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp
index 345ef1227bd34c6defb272d21e7fa54c9281cd30..96fc80810d6fc401f9f1040e01b23a60fc0b4f08 100644
--- a/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp
+++ b/src/plugins/qmldesigner/components/stateseditor/stateseditorview.cpp
@@ -264,6 +264,8 @@ void StatesEditorView::nodeAboutToBeRemoved(const ModelNode &removedNode)
             m_lastIndex = propertyParent.indexOf(removedNode);
         }
     }
+    if (removedNode == currentState())
+        setCurrentState(baseState());
 }
 
 void StatesEditorView::nodeRemoved(const ModelNode & /*removedNode*/, const NodeAbstractProperty &parentProperty, PropertyChangeFlags /*propertyChange*/)