diff --git a/src/plugins/qmldesigner/components/formeditor/resizecontroller.cpp b/src/plugins/qmldesigner/components/formeditor/resizecontroller.cpp
index 2281ff2e23fb69b1dcffa5fa06491de6ee45edf4..439976913b7d0a6a47c631ba5a9d89d889e996c3 100644
--- a/src/plugins/qmldesigner/components/formeditor/resizecontroller.cpp
+++ b/src/plugins/qmldesigner/components/formeditor/resizecontroller.cpp
@@ -221,7 +221,7 @@ void ResizeController::updatePosition()
 
 FormEditorItem* ResizeController::formEditorItem() const
 {
-    return m_data->formEditorItem;
+    return m_data->formEditorItem.data();
 }
 
 QWeakPointer<ResizeControllerData> ResizeController::weakPointer() const
diff --git a/src/plugins/qmldesigner/components/formeditor/resizecontroller.h b/src/plugins/qmldesigner/components/formeditor/resizecontroller.h
index be1e44824a82a4619fc35eb5b57547b3e100a6fd..0e4dfeaa827d3239b37647d801b98535a4f298c7 100644
--- a/src/plugins/qmldesigner/components/formeditor/resizecontroller.h
+++ b/src/plugins/qmldesigner/components/formeditor/resizecontroller.h
@@ -51,7 +51,7 @@ public:
 
 
     QWeakPointer<LayerItem> layerItem;
-    FormEditorItem *formEditorItem;
+    QWeakPointer<FormEditorItem> formEditorItem;
     ResizeHandleItem *topLeftItem;
     ResizeHandleItem *topRightItem;
     ResizeHandleItem *bottomLeftItem;
diff --git a/src/plugins/qmldesigner/components/formeditor/resizetool.cpp b/src/plugins/qmldesigner/components/formeditor/resizetool.cpp
index 397080881fca40adb6d41d0f8344ae7b3eb04f52..289c5c748ed60bd0b8959737ed96033ec7673a90 100644
--- a/src/plugins/qmldesigner/components/formeditor/resizetool.cpp
+++ b/src/plugins/qmldesigner/components/formeditor/resizetool.cpp
@@ -62,7 +62,7 @@ void ResizeTool::mousePressEvent(const QList<QGraphicsItem*> &itemList,
         return;
 
     ResizeHandleItem *resizeHandle = ResizeHandleItem::fromGraphicsItem(itemList.first());
-    if (resizeHandle) {
+    if (resizeHandle && resizeHandle->resizeController().isValid()) {
         m_resizeManipulator.setHandle(resizeHandle);
         m_resizeManipulator.begin(event->scenePos());
         m_resizeIndicator.hide();
@@ -92,7 +92,7 @@ void ResizeTool::hoverMoveEvent(const QList<QGraphicsItem*> &itemList,
     if (itemList.isEmpty())
         return;
     ResizeHandleItem* resizeHandle = ResizeHandleItem::fromGraphicsItem(itemList.first());
-    if (resizeHandle) {
+    if (resizeHandle && resizeHandle->resizeController().isValid()) {
         m_resizeManipulator.setHandle(resizeHandle);
     } else {
         view()->changeToSelectionTool();