diff --git a/api/glue/device.c b/api/glue/device.c
index 1416e65adc62d46541fdec688a24b65d3c04cc58..a41b67146668fb852cf4bd85ff4146268b93ba5a 100644
--- a/api/glue/device.c
+++ b/api/glue/device.c
@@ -249,6 +249,7 @@ eb_status_t eb_device_close(eb_device_t devicep) {
     cycle = EB_CYCLE(cyclep);
     nextp = cycle->un_link.next;
     
+    cycle->un_link.device = devicep;
     if (cycle->callback)
       (*cycle->callback)(cycle->user_data, cycle->un_ops.first, EB_TIMEOUT);