diff --git a/src/main/java/dk/camelot64/kickc/passes/Pass1UnwindStructValues.java b/src/main/java/dk/camelot64/kickc/passes/Pass1UnwindStructValues.java
index cfcc4b46d..d55fc3c9f 100644
--- a/src/main/java/dk/camelot64/kickc/passes/Pass1UnwindStructValues.java
+++ b/src/main/java/dk/camelot64/kickc/passes/Pass1UnwindStructValues.java
@@ -404,6 +404,7 @@ public class Pass1UnwindStructValues extends Pass1Base {
                   return new StructUnwindingVariable(variable, structDefinition);
                }
             } else if(value instanceof StructMemberRef && ((StructMemberRef) value).getStruct() instanceof VariableRef) {
+               getLog().append("Postponing unwinding for "+currentStmt.toString(getProgram(), false));
                return POSTPONE_UNWINDING;
             } else if(value instanceof PointerDereferenceSimple) {
                return new StructUnwindingPointerDerefSimple((PointerDereferenceSimple) value, structDefinition, stmtIt, currentBlock, currentStmt);
diff --git a/src/test/ref/complex/splines/truetype-splines.log b/src/test/ref/complex/splines/truetype-splines.log
index 083d5b1e6..2f028990d 100644
--- a/src/test/ref/complex/splines/truetype-splines.log
+++ b/src/test/ref/complex/splines/truetype-splines.log
@@ -224,7 +224,12 @@ Adding struct value member variable copy (signed word) show_letter::via_y ← (s
 Adding struct value member variable copy (byte) show_letter::segment_type ← *((const struct Segment*) letter_c + (byte~) show_letter::$22).type
 Adding struct value member variable copy (struct SplineVector16) show_letter::segment_to ← (struct SplineVector16) show_letter::to
 Adding struct value member variable copy (struct SplineVector16) show_letter::segment_via ← (struct SplineVector16) show_letter::via
+Postponing unwinding for (struct SplineVector16) show_letter::current ← (struct Segment) show_letter::segment.to
+Postponing unwinding for (void~) show_letter::$17 ← call spline_8segB (struct SplineVector16) show_letter::current (struct Segment) show_letter::segment.via (struct Segment) show_letter::segment.to 
+Postponing unwinding for (void~) show_letter::$17 ← call spline_8segB (struct SplineVector16) show_letter::current (struct Segment) show_letter::segment.via (struct Segment) show_letter::segment.to 
 Converted procedure struct value parameter to member unwinding in call (void~) show_letter::$17 ← call spline_8segB (signed word) show_letter::current_x (signed word) show_letter::current_y (struct Segment) show_letter::segment.via (struct Segment) show_letter::segment.to 
+Postponing unwinding for (struct SplineVector16) show_letter::current ← (struct Segment) show_letter::segment.to
+Postponing unwinding for (struct SplineVector16) show_letter::current ← (struct Segment) show_letter::segment.to
 Adding struct value member variable copy (signed word) bitmap_plot_spline_8seg::current_x ← *((signed word*~) bitmap_plot_spline_8seg::$10 + (number~) bitmap_plot_spline_8seg::$6)
 Adding struct value member variable copy (signed word) bitmap_plot_spline_8seg::current_y ← *((signed word*~) bitmap_plot_spline_8seg::$11 + (number~) bitmap_plot_spline_8seg::$6)
 Adding struct value member variable copy (signed word) bitmap_plot_spline_8seg::current_x ← *((signed word*~) bitmap_plot_spline_8seg::$12 + (byte~) bitmap_plot_spline_8seg::$9)
diff --git a/src/test/ref/struct-19.log b/src/test/ref/struct-19.log
index 4364524a7..0e0cbda60 100644
--- a/src/test/ref/struct-19.log
+++ b/src/test/ref/struct-19.log
@@ -1,6 +1,8 @@
 Adding struct value member variable copy *(&(struct Vector) main::v) ← memset(struct Vector, (const byte) SIZEOF_STRUCT_VECTOR)
 Adding struct value member variable copy *(&(struct Point) main::p1) ← memcpy(*(&(const struct Point) $0), struct Point, (const byte) SIZEOF_STRUCT_POINT)
 Adding struct value member variable copy *(&(struct Point) main::p2) ← memcpy(*(&(const struct Point) $1), struct Point, (const byte) SIZEOF_STRUCT_POINT)
+Postponing unwinding for (struct Vector) main::v.p ← (struct Point) main::p1
+Postponing unwinding for (struct Vector) main::v.q ← (struct Point) main::p2
 Replacing struct member reference (struct Vector) main::v.p with member unwinding reference *((struct Point*)&(struct Vector) main::v+(const byte) OFFSET_STRUCT_VECTOR_P)
 Replacing struct member reference (struct Vector) main::v.q with member unwinding reference *((struct Point*)&(struct Vector) main::v+(const byte) OFFSET_STRUCT_VECTOR_Q)
 Replacing struct member reference (struct Vector) main::v.p with member unwinding reference *((struct Point*)&(struct Vector) main::v+(const byte) OFFSET_STRUCT_VECTOR_P)
diff --git a/src/test/ref/struct-8.log b/src/test/ref/struct-8.log
index 271eb6641..5ef1cf44e 100644
--- a/src/test/ref/struct-8.log
+++ b/src/test/ref/struct-8.log
@@ -14,6 +14,7 @@ Adding struct value member variable copy (byte) main::p_x ← (byte) $a
 Adding struct value member variable copy (byte) main::p_y ← (byte) $a
 Adding struct value member variable copy (struct Point) main::c_center ← (struct Point) main::p
 Adding struct value member variable copy (byte) main::c_radius ← (byte) 5
+Postponing unwinding for (struct Point) main::point ← (struct Circle) main::c.center
 Replacing struct member reference (struct Circle) main::c.center with member unwinding reference (struct Point) main::c_center
 Replacing struct member reference (struct Point) main::point.x with member unwinding reference (byte) main::point_x
 Replacing struct member reference (struct Point) main::point.y with member unwinding reference (byte) main::point_y
diff --git a/src/test/ref/struct-9.log b/src/test/ref/struct-9.log
index ffe6fced8..a5be9a635 100644
--- a/src/test/ref/struct-9.log
+++ b/src/test/ref/struct-9.log
@@ -11,6 +11,7 @@ Adding struct value member variable copy (byte) main::p_x ← (byte) $a
 Adding struct value member variable copy (byte) main::p_y ← (byte) $a
 Adding struct value member variable copy (struct Point) main::c_center ← {}
 Adding struct value member variable copy (byte) main::c_radius ← (byte) 0
+Postponing unwinding for (struct Circle) main::c.center ← (struct Point) main::p
 Replacing struct member reference (struct Circle) main::c.center with member unwinding reference (struct Point) main::c_center
 Replacing struct member reference (struct Circle) main::c.radius with member unwinding reference (byte) main::c_radius
 Replacing struct member reference (struct Circle) main::c.center with member unwinding reference (struct Point) main::c_center