diff --git a/src/template/ast/NodeConstructor.tt b/src/template/ast/NodeConstructor.tt
index ba43b91a543c2cad73a385b7cebdd0b630524999..2c5963f8c21e8025dfe79cc1324a5e1095949c23 100644
--- a/src/template/ast/NodeConstructor.tt
+++ b/src/template/ast/NodeConstructor.tt
@@ -78,10 +78,12 @@ OptDecl.constructor = [[
 # A list constructor that builds a list with all arguments
 ListDecl.constructor = [[
   public $List.$List(T... initialChildren) {
+    $include(State.incHookConstructionStart)
     children = new $ASTNode[initialChildren.length];
     for (int i = 0; i < children.length; ++i) {
       addChild(initialChildren[i]);
     }
+    $include(State.incHookConstructionEnd)
   }
 ]]
 
diff --git a/src/template/incremental/ASTChange.tt b/src/template/incremental/ASTChange.tt
index 9e7ddcfeec08a67867fb83d26f5a83ec9c262840..5a27cc916598c0b694a2e153b1d508a799b7fc16 100644
--- a/src/template/incremental/ASTChange.tt
+++ b/src/template/incremental/ASTChange.tt
@@ -116,7 +116,7 @@ if (!state().IN_CONSTRUCTION && !(state().IN_COMPUTATION > 0)) {
   if (h != null) {
     h.notifyDependencies();
   }
-  if (i == numChildren) {
+  if (i == numChildren && h != handler()) {
     handler().notifyDependencies();
   }
 $endif
diff --git a/src/template/incremental/DDGNode.tt b/src/template/incremental/DDGNode.tt
index ebba919bc89b28a1110cddff6ec73d47f29a3d0b..115e9cc87f0699e45a96aab43b7312b175e5a7ca 100644
--- a/src/template/incremental/DDGNode.tt
+++ b/src/template/incremental/DDGNode.tt
@@ -242,7 +242,7 @@ $endif
   // React to change
 
   public void dependencyChanged() {
-    if (isComputed()) {
+    if (isComputed() || isCreated()) {
       setEmpty();
 $if (IncrementalTrack)
       trackedFlushes++;