diff --git a/maestro/core.c b/maestro/core.c
index c9e5da51c26bd98d0cdf6cb8a82ea723900529bb..369352002305f1cb354800b4d5f553d51a98ac63 100644
--- a/maestro/core.c
+++ b/maestro/core.c
@@ -808,6 +808,11 @@ mstro_core_finalize(void)
         s_hb, mstro_status_description(s_hb));
     goto BAILOUT;
   }
+  /**free allocated numa cores lists for pinning*/
+  NFREE(g_numa_transport_bind_cores);
+  NFREE(g_numa_cq_bind_cores);
+  NFREE(g_numa_pm_pc_bind_cores);
+  NFREE(g_numa_op_bind_cores);
 
   if(g_initdata) {
     /* had some initdata */