diff --git a/src/template/trace/TraceHooks.tt b/src/template/trace/TraceHooks.tt
index 53654d99f284ebf1ee11a77a50c1ca133a712f6f..784f39bbb55cef496677d87399c46b9fb425a66d 100644
--- a/src/template/trace/TraceHooks.tt
+++ b/src/template/trace/TraceHooks.tt
@@ -325,66 +325,61 @@ $endif
 
 ASTNode.traceFlushIncBeginSetChild [[
 $if (TraceFlush)
-Object flushIncToken = new Object();
-state().trace().flushIncStart(this, "setChild", flushIncToken);
+state().trace().flushIncStart(this, "ASTNode.setChild", i, node);
 $endif
 ]]
 
 TokenComponent.traceFlushIncBeginSetToken [[
 $if (TraceFlush)
-Object flushIncToken = new Object();
-state().trace().flushIncStart(this, "set$(Id)", flushIncToken);
+state().trace().flushIncStart(this, "set$(Id)", "", value);
 $endif
 ]]
 
 ASTNode.traceFlushIncBeginInsertChild [[
 $if (TraceFlush)
-Object flushIncToken = new Object();
-state().trace().flushIncStart(this, "insertChild", flushIncToken);
+state().trace().flushIncStart(this, "ASTNode.insertChild", i, node);
 $endif
 ]]
 
 ASTNode.traceFlushIncBeginRemoveChild [[
 $if (TraceFlush)
-Object flushIncToken = new Object();
-state().trace().flushIncStart(this, "removeChild", flushIncToken);
+state().trace().flushIncStart(this, "ASTNode.removeChild", i, "");
 $endif
 ]]
 
 ASTNode.traceFlushIncBeginSetParent [[
 $if (TraceFlush)
-Object flushIncToken = new Object();
-state().trace().flushIncStart(this, "setParent", flushIncToken);
+state().trace().flushIncStart(this, "ASTNode.setParent", "", node);
 $endif
 ]]
 
 ASTNode.traceFlushIncEndSetChild [[
 $if (TraceFlush)
-state().trace().flushIncEnd(this, "setChild", flushIncToken);
+state().trace().flushIncEnd(this, "ASTNode.setChild", i, node);
 $endif
 ]]
 
 TokenComponent.traceFlushIncEndSetToken [[
 $if (TraceFlush)
-state().trace().flushIncEnd(this, "set$(Id)", flushIncToken);
+state().trace().flushIncEnd(this, "set$(Id)", "", value);
 $endif
 ]]
 
 ASTNode.traceFlushIncEndInsertChild [[
 $if (TraceFlush)
-state().trace().flushIncEnd(this, "insertChild", flushIncToken);
+state().trace().flushIncEnd(this, "ASTNode.insertChild", i, node);
 $endif
 ]]
 
 ASTNode.traceFlushIncEndRemoveChild [[
 $if (TraceFlush)
-state().trace().flushIncEnd(this, "removeChild", flushIncToken);
+state().trace().flushIncEnd(this, "ASTNode.removeChild", i, "");
 $endif
 ]]
 
 ASTNode.traceFlushIncEndSetParent [[
 $if (TraceFlush)
-state().trace().flushIncEnd(this, "setParent", flushIncToken);
+state().trace().flushIncEnd(this, "ASTNode.setParent", "", node);
 $endif
 ]]
 
diff --git a/src/template/trace/Tracer.tt b/src/template/trace/Tracer.tt
index 6fcc5946345718f4300894aa4b7eb59c150112a0..f2ce9a230c0f34693d3089f161de8d7e717dce1a 100644
--- a/src/template/trace/Tracer.tt
+++ b/src/template/trace/Tracer.tt
@@ -353,15 +353,15 @@ public static class Trace {
   /**
    * Trace that flushing done by incremental evaluation begun.
    */
-  public void flushIncStart($ASTNode node, String child, Object value) {
-    receiver.accept($StateClass.Trace.Event.INC_FLUSH_START, ASPECT_AST, node, child, "", value);
+  public void flushIncStart($ASTNode node, String attr, Object params, Object value) {
+    receiver.accept($StateClass.Trace.Event.INC_FLUSH_START, ASPECT_AST, node, attr, params, value);
   }
 
   /**
    * Trace that flushing done by incremental evaluation ended.
    */
-  public void flushIncEnd($ASTNode node, String child, Object value) {
-    receiver.accept($StateClass.Trace.Event.INC_FLUSH_END, ASPECT_AST, node, child, "", value);
+  public void flushIncEnd($ASTNode node, String attr, Object params, Object value) {
+    receiver.accept($StateClass.Trace.Event.INC_FLUSH_END, ASPECT_AST, node, attr, params, value);
   }
 
   /**