diff --git a/src/velociraptor_interface.c b/src/velociraptor_interface.c
index 66373b41436452d3145a88997a9861788da9d2e4..82dd303735c1c33a06d63195cae0fb30fed7f491 100644
--- a/src/velociraptor_interface.c
+++ b/src/velociraptor_interface.c
@@ -151,4 +151,7 @@ void invoke_velociraptor(struct engine *e) {
     //for(int i=0; i<nr_gparts; i++) message("Potential: %f", gparts[i].potential);
 
     InvokeVelociraptor(nr_gparts, gparts, cell_node_ids);
+    
+    /* Free cell node ids after VELOCIraptor has copied them. */
+    free(cell_node_ids);
 }