diff --git a/tracer/forward.c b/tracer/forward.c
index 6082d5e7e347269a6b2a2d621ec88479e37bb754..b425e6444b929ad60cbfc3f2b4bed2ae6d73a874 100644
--- a/tracer/forward.c
+++ b/tracer/forward.c
@@ -151,6 +151,7 @@ void forward(void *_forwarder, char *buf, int size)
   new->l = size;
   new->next = NULL;
   if (f->head == NULL) f->head = new;
+  if (f->tail != NULL) f->tail->next = new;
   f->tail = new;
 
   if (pthread_cond_signal(&f->datacond)) abort();