diff --git a/crossdock/client/trace.go b/crossdock/client/trace.go
index <HASH>..<HASH> 100644
--- a/crossdock/client/trace.go
+++ b/crossdock/client/trace.go
@@ -66,9 +66,11 @@ func (c *Client) trace(s behavior.Sink, ps behavior.Params) {
 		return
 	}
 
-	if resp.NotImplementedError != "" {
-		behavior.Skipf(s, resp.NotImplementedError)
-		return
+	for r := resp; r != nil; r = r.Downstream {
+		if r.NotImplementedError != "" {
+			behavior.Skipf(s, r.NotImplementedError)
+			return
+		}
 	}
 
 	traceID := resp.Span.TraceId
Validate "not implemented" recursively (#<I>)