diff --git a/src/quick/items/context2d/qquickcanvasitem.cpp b/src/quick/items/context2d/qquickcanvasitem.cpp
index fffd4696a11ee53c9865cfd7b52e3219ae01d7d5..f9e7bfd0ae1424026af141fd7247f4ccefdace86 100644
--- a/src/quick/items/context2d/qquickcanvasitem.cpp
+++ b/src/quick/items/context2d/qquickcanvasitem.cpp
@@ -634,7 +634,8 @@ void QQuickCanvasItem::releaseResources()
 void QQuickCanvasItem::invalidateSceneGraph()
 {
     Q_D(QQuickCanvasItem);
-    d->context->deleteLater();
+    if (d->context)
+        d->context->deleteLater();
     d->context = 0;
     d->node = 0; // managed by the scene graph, just reset the pointer
     delete d->textureProvider;