diff --git a/src/plugins/designer/formeditorstack.cpp b/src/plugins/designer/formeditorstack.cpp
index af1f3813c1545404f086837ea9e438d593aa67bd..0ab7e69d98a2144f2ed0e08b2714294bdc3503ec 100644
--- a/src/plugins/designer/formeditorstack.cpp
+++ b/src/plugins/designer/formeditorstack.cpp
@@ -129,8 +129,8 @@ bool FormEditorStack::removeFormWindowEditor(Core::IEditor *xmlEditor)
     const int i = indexOf(xmlEditor);
     if (i == -1) // Fail silently as this is invoked for all editors.
         return false;
-    removeWidget(m_formEditors[i].widgetHost->widget());
-    delete m_formEditors[i].widgetHost;
+    removeWidget(m_formEditors[i].widgetHost);
+    m_formEditors[i].widgetHost->deleteLater();
     m_formEditors.removeAt(i);
     return true;
 }