diff --git a/pd/src/x_interface.c b/pd/src/x_interface.c
index 92e0fdeeadd7df586c78403ea2710b6683a6a01c..a7fba91bd7ca9656e7895c9d3256cfbef206a0db 100644
--- a/pd/src/x_interface.c
+++ b/pd/src/x_interface.c
@@ -187,7 +187,7 @@ t_canvas *canvas_climb(t_canvas *c, int level)
         ret = ret->gl_owner;
         level--;
       }
-      return c;
+      return ret;
   }
 }