diff --git a/src/jastadd/incremental/IncrementalDebug.jadd b/src/jastadd/incremental/IncrementalDebug.jadd
index 47d5801ae453d14542ecdf5c96a10c9bae07ad16..3055f0a8ba4fc95479b3c6bb056fc15d13b312c0 100644
--- a/src/jastadd/incremental/IncrementalDebug.jadd
+++ b/src/jastadd/incremental/IncrementalDebug.jadd
@@ -122,6 +122,7 @@ aspect IncrementalDebug {
     TemplateContext tt = templateContext();
     for (AttrDecl attr : listOfCachedAttributes()) {
       tt.bind("IsParameterized", attr.getNumParameter() > 0);
+      tt.bind("IsCircular", attr.isCircular());
       tt.bind("PrintAsObject", attr.isPrimitive() || attr.getType().equals("String"));
       tt.bind("AttrSign", attr.signature());
       res.append(tt.expand("ASTDecl.dumpCachedAttributeValue"));
diff --git a/src/template/incremental/Debug.tt b/src/template/incremental/Debug.tt
index a10cbe761a391d1f8deedaae643148976c0bd52c..a179a966abe69f2cdefbbe1d3c3ed874a7623c65 100644
--- a/src/template/incremental/Debug.tt
+++ b/src/template/incremental/Debug.tt
@@ -139,7 +139,11 @@ if ($(AttrSign)_values != null) {
   }
 }
 $else
+$if (IsCircular)
+if ($(AttrSign)_computed == $StateClass.NON_CYCLE || $(AttrSign)_computed == state().cycle()) {
+$else
 if ($(AttrSign)_computed) {
+$endif
 $if (PrintAsObject)
   System.out.println("value(" + relativeNodeID() + ":$(AttrSign), " + $(AttrSign)_value + ")");
 $else