diff --git a/pressure-vessel/meson.build b/pressure-vessel/meson.build
index 552a35bbb80b132637b04fd2eb15263df3ce5037..2838ba1d861c558139488448e107b1c7f1961e5e 100644
--- a/pressure-vessel/meson.build
+++ b/pressure-vessel/meson.build
@@ -208,8 +208,8 @@ executable(
   install_rpath : pv_rpath,
 )
 
-executable(
-  'pressure-vessel-wrap',
+pressure_vessel_wrap_lib = static_library(
+  'pressure-vessel-wrap-lib',
   sources : [
     'bwrap.c',
     'bwrap.h',
@@ -228,7 +228,6 @@ executable(
     'graphics-provider.h',
     'runtime.c',
     'runtime.h',
-    'wrap.c',
     'wrap-flatpak.c',
     'wrap-flatpak.h',
     'wrap-pipewire.c',
@@ -246,6 +245,24 @@ executable(
     json_glib,
   ],
   include_directories : pv_include_dirs,
+)
+pressure_vessel_wrap_lib_dep = declare_dependency(
+  link_with : pressure_vessel_wrap_lib,
+  sources : [launcher1[1], systemd_dbus[1]],
+)
+
+executable(
+  'pressure-vessel-wrap',
+  sources : [
+    'wrap.c',
+  ],
+  c_args : pv_c_args,
+  dependencies : [
+    gio_unix,
+    libglnx_dep,
+    pressure_vessel_wrap_lib_dep,
+  ],
+  include_directories : pv_include_dirs,
   install : true,
   install_dir : pv_bindir,
   build_rpath : pv_rpath,
diff --git a/tests/pressure-vessel/meson.build b/tests/pressure-vessel/meson.build
index a54693e95223840b882f240d1cb3d3fc41633c22..19b153611bb6b5386eedd089318f4c05ee4347db 100644
--- a/tests/pressure-vessel/meson.build
+++ b/tests/pressure-vessel/meson.build
@@ -56,7 +56,7 @@ foreach test_name : compiled_tests
       gio_unix,
       libglnx_dep,
       test_utils_static_libsteamrt_dep,
-      pressure_vessel_utils_dep,
+      pressure_vessel_wrap_lib_dep,
     ],
     include_directories : pv_include_dirs,
     install : false,