diff --git a/src/template/incremental/Notification.tt b/src/template/incremental/Notification.tt
index d32ccae911f4e87f0943bf6effcd75e40cace1fb..8f8d5fb0a18c2a8cb1efbad0e73c66180e06e2c6 100644
--- a/src/template/incremental/Notification.tt
+++ b/src/template/incremental/Notification.tt
@@ -287,6 +287,9 @@ $endif
   $AttrResetVisit
   $AttrResetCache
   $(AttrSign)_handler.notifyDependencies();
+  $if (TraceFlush)
+  state().trace().flushIncAttr(this, "$AttrSign", "", "");
+  $endif
   $if(!#isASTNodeDecl)
   super.reactToDependencyChange(attrID, _parameters);
   $endif
diff --git a/src/template/trace/Tracer.tt b/src/template/trace/Tracer.tt
index cc565cd09de287ef3a01ad70f540a912fde207f3..0d19cde6937335562f2b73bf8474a4fd7ab82695 100644
--- a/src/template/trace/Tracer.tt
+++ b/src/template/trace/Tracer.tt
@@ -78,7 +78,8 @@ public static class Trace {
     // Flag: --tracing=flush
     FLUSH_ATTR,
     FLUSH_REWRITE,
-    FLUSH_REWRITE_INIT;
+    FLUSH_REWRITE_INIT,
+    INC_FLUSH_ATTR;
   }
 
   /**
@@ -324,6 +325,13 @@ public static class Trace {
   public void flushAttr($ASTNode node, String attr, Object params, Object value) {
     receiver.accept($StateClass.Trace.Event.FLUSH_ATTR, node, attr, params, value);
   }
+
+  /**
+   * Trace that an attribute was flushed by incremental evaluation.
+   */
+  public void flushIncAttr($ASTNode node, String attr, Object params, Object value) {
+    receiver.accept($StateClass.Trace.Event.INC_FLUSH_ATTR, node, attr, params, value);
+  }
 }
 $endif
 ]]