diff --git a/src/core/support/cpu_posix.c b/src/core/support/cpu_posix.c
index 33c7b90b0b2fe7c1b8c7dd385719302ac755e123..5f45fb0bc36986e8ba7d4e01641359be30b3602d 100644
--- a/src/core/support/cpu_posix.c
+++ b/src/core/support/cpu_posix.c
@@ -40,6 +40,7 @@
 #include <string.h>
 
 #include <grpc/support/log.h>
+#include <grpc/support/sync.h>
 
 static __thread char magic_thread_local;
 
@@ -55,7 +56,7 @@ static void init_ncpus() {
 
 unsigned gpr_cpu_num_cores(void) {
   static gpr_once once = GPR_ONCE_INIT;
-  gpr_once_init(&once, init_num_cpus);
+  gpr_once_init(&once, init_ncpus);
   return ncpus;
 }