diff --git a/include/libcamera/base/message.h b/include/libcamera/base/message.h
index 65572c7470e9..b939af6f79bb 100644
--- a/include/libcamera/base/message.h
+++ b/include/libcamera/base/message.h
@@ -9,6 +9,8 @@
 
 #include <atomic>
 
+#include <libcamera/base/private.h>
+
 #include <libcamera/base/bound_method.h>
 
 namespace libcamera {
diff --git a/include/libcamera/base/mutex.h b/include/libcamera/base/mutex.h
index 2d23e49e4546..52441c55287a 100644
--- a/include/libcamera/base/mutex.h
+++ b/include/libcamera/base/mutex.h
@@ -10,6 +10,8 @@
 #include <condition_variable>
 #include <mutex>
 
+#include <libcamera/base/private.h>
+
 #include <libcamera/base/thread_annotations.h>
 
 namespace libcamera {
diff --git a/src/gstreamer/meson.build b/src/gstreamer/meson.build
index 77c79140eb37..eda246d7ffc8 100644
--- a/src/gstreamer/meson.build
+++ b/src/gstreamer/meson.build
@@ -42,7 +42,7 @@ endif
 libcamera_gst = shared_library('gstlibcamera',
     libcamera_gst_sources,
     cpp_args : libcamera_gst_cpp_args,
-    dependencies : [libcamera_public, gstvideo_dep, gstallocator_dep],
+    dependencies : [libcamera_private, gstvideo_dep, gstallocator_dep],
     install: true,
     install_dir : '@0@/gstreamer-1.0'.format(get_option('libdir')),
 )
