diff --git a/src/ui/MxcAnimatedImage.cpp b/src/ui/MxcAnimatedImage.cpp
index 3db5ef60eede19d000c3b84eee99ca224acce569..c691bab0d8ae5cd0f5e00b9864aa2c9ace69f802 100644
--- a/src/ui/MxcAnimatedImage.cpp
+++ b/src/ui/MxcAnimatedImage.cpp
@@ -155,14 +155,19 @@ MxcAnimatedImage::updatePaintNode(QSGNode *oldNode, QQuickItem::UpdatePaintNodeD
         if (!n) {
                 n = window()->createImageNode();
                 n->setOwnsTexture(true);
+                // n->setFlags(QSGNode::OwnedByParent | QSGNode::OwnsGeometry |
+                // GSGNode::OwnsMaterial);
+                n->setFlags(QSGNode::OwnedByParent);
         }
 
         // n->setTexture(nullptr);
         auto img = movie.currentImage();
         if (!img.isNull())
                 n->setTexture(window()->createTextureFromImage(img));
-        else
+        else {
+                delete n;
                 return nullptr;
+        }
 
         n->setSourceRect(img.rect());
         n->setRect(QRect(0, 0, width(), height()));