diff --git a/src/imports/qtcanvas3d/teximage3d.cpp b/src/imports/qtcanvas3d/teximage3d.cpp
index 04c6c19dc48ff12574c55073ee45c6f668a1fc58..20748708f70adbef01bbfae7964a94a950db68cb 100644
--- a/src/imports/qtcanvas3d/teximage3d.cpp
+++ b/src/imports/qtcanvas3d/teximage3d.cpp
@@ -45,6 +45,7 @@ QT_BEGIN_NAMESPACE
 QT_CANVAS3D_BEGIN_NAMESPACE
 
 static QMap<QQmlEngine *,CanvasTextureImageFactory *>m_qmlEngineToImageFactoryMap;
+static ulong m_texId = 0;
 
 class StaticFactoryMapDeleter
 {
@@ -260,7 +261,7 @@ void CanvasTextureImage::setSrc(const QUrl &url)
  */
 ulong CanvasTextureImage::id()
 {
-    return ulong(this);
+    return m_texId++;
 }
 
 /*!