diff --git a/lib/c/labcomm_decoder.c b/lib/c/labcomm_decoder.c
index b81937c6ca16dd86861db4a74c853513fd0e5c22..1a6536d88df98bed85c44466fef1c6641c0e68f2 100644
--- a/lib/c/labcomm_decoder.c
+++ b/lib/c/labcomm_decoder.c
@@ -312,7 +312,7 @@ static int decode_pragma(struct labcomm_decoder *d,
                                      pr, d->error, d->memory, d->scheduler);
      pd->version_ok = 1;
      printf("calling pragma_handler\n");
-     result = d->pragma_handler(pd, pd, pragma_type);
+     result = d->pragma_handler(pd, registry, pragma_type);
      printf("returned from pragma_handler\n");
 
      internal_labcomm_decoder_free(pd);