diff --git a/src/plugins/qmldesigner/components/propertyeditor/colorwidget.cpp b/src/plugins/qmldesigner/components/propertyeditor/colorwidget.cpp
index a35f7523fcbd6f760531af693d5f0a2479f703c4..e3310584610eac1f821d45ad01a457df9ccea577 100644
--- a/src/plugins/qmldesigner/components/propertyeditor/colorwidget.cpp
+++ b/src/plugins/qmldesigner/components/propertyeditor/colorwidget.cpp
@@ -475,11 +475,10 @@ void GradientLine::deleteGradient()
 
     if (m_itemNode.isInBaseState()) {
         if (modelNode.hasProperty(m_gradientName)) {
-            RewriterTransaction transaction;
-            m_itemNode.modelNode().removeProperty(m_gradientName); //### there is atm a bug in the node instances which lead to a crash if using destroy()
-            /*ModelNode gradientNode = modelNode.nodeProperty(m_gradientName).modelNode();
+            RewriterTransaction transaction = m_itemNode.modelNode().view()->beginRewriterTransaction();
+            ModelNode gradientNode = modelNode.nodeProperty(m_gradientName).modelNode();
             if (QmlObjectNode(gradientNode).isValid())
-                QmlObjectNode(gradientNode).destroy();*/
+                QmlObjectNode(gradientNode).destroy();
         }
     }
 }
@@ -662,7 +661,7 @@ void GradientLine::updateGradient()
 {
     if (!active())
         return;
-    RewriterTransaction transaction;
+    RewriterTransaction transaction = m_itemNode.modelNode().view()->beginRewriterTransaction();
     if (!m_itemNode.isValid())
         return;