diff --git a/src/quick3d/qquick3dshaderutils.cpp b/src/quick3d/qquick3dshaderutils.cpp
index 6e6180d558de131d5c34451c5ea596ff22105fcc..3b9f5276ed5ae3a10b036bc87ee1bf7b180e5a9d 100644
--- a/src/quick3d/qquick3dshaderutils.cpp
+++ b/src/quick3d/qquick3dshaderutils.cpp
@@ -565,6 +565,12 @@ int QQuick3DShaderUtilsRenderPass::qmlCommandCount(QQmlListProperty<QQuick3DShad
     return that->m_commands.count();
 }
 
+void QQuick3DShaderUtilsRenderPass::qmlCommandClear(QQmlListProperty<QQuick3DShaderUtilsRenderCommand> *list)
+{
+    QQuick3DShaderUtilsRenderPass *that = qobject_cast<QQuick3DShaderUtilsRenderPass *>(list->object);
+    that->m_commands.clear();
+}
+
 QQmlListProperty<QQuick3DShaderUtilsRenderCommand> QQuick3DShaderUtilsRenderPass::commands()
 {
     return QQmlListProperty<QQuick3DShaderUtilsRenderCommand>(this,
@@ -572,7 +578,7 @@ QQmlListProperty<QQuick3DShaderUtilsRenderCommand> QQuick3DShaderUtilsRenderPass
                                                              QQuick3DShaderUtilsRenderPass::qmlAppendCommand,
                                                              QQuick3DShaderUtilsRenderPass::qmlCommandCount,
                                                              QQuick3DShaderUtilsRenderPass::qmlCommandAt,
-                                                             nullptr);
+                                                             QQuick3DShaderUtilsRenderPass::qmlCommandClear);
 }
 
 void QQuick3DShaderUtilsRenderPass::qmlAppendShader(QQmlListProperty<QQuick3DShaderUtilsShader> *list,
diff --git a/src/quick3d/qquick3dshaderutils_p.h b/src/quick3d/qquick3dshaderutils_p.h
index 44db4420d6e45e1d847a71f8303b2de8ec27707e..7b3c7fd746c672c1b82469009ce67210e3d170e1 100644
--- a/src/quick3d/qquick3dshaderutils_p.h
+++ b/src/quick3d/qquick3dshaderutils_p.h
@@ -459,6 +459,7 @@ public:
     static void qmlAppendCommand(QQmlListProperty<QQuick3DShaderUtilsRenderCommand> *list, QQuick3DShaderUtilsRenderCommand *command);
     static QQuick3DShaderUtilsRenderCommand *qmlCommandAt(QQmlListProperty<QQuick3DShaderUtilsRenderCommand> *list, int index);
     static int qmlCommandCount(QQmlListProperty<QQuick3DShaderUtilsRenderCommand> *list);
+    static void qmlCommandClear(QQmlListProperty<QQuick3DShaderUtilsRenderCommand> *list);
 
     static void qmlAppendShader(QQmlListProperty<QQuick3DShaderUtilsShader> *list, QQuick3DShaderUtilsShader *shader);
     static QQuick3DShaderUtilsShader *qmlShaderAt(QQmlListProperty<QQuick3DShaderUtilsShader> *list, int index);