diff --git a/pressure-vessel/wrap-flatpak.c b/pressure-vessel/wrap-flatpak.c
index 2601131bda48e9b5a20266e2f0f0410eee6cfbbb..cb2e86e4a769e171bbd146d39a0ab41ca479129e 100644
--- a/pressure-vessel/wrap-flatpak.c
+++ b/pressure-vessel/wrap-flatpak.c
@@ -24,6 +24,9 @@
 #include "flatpak-run-private.h"
 #include "utils.h"
 
+#define FLATPAK_PORTAL_BUS_NAME "org.freedesktop.portal.Flatpak"
+#define FLATPAK_SESSION_HELPER_BUS_NAME "org.freedesktop.Flatpak"
+
 static gboolean
 check_launch_on_host (const char *launch_executable,
                       GError **error)
@@ -34,7 +37,7 @@ check_launch_on_host (const char *launch_executable,
   const char *test_argv[] =
   {
     NULL,
-    "--bus-name=org.freedesktop.Flatpak",
+    "--bus-name=" FLATPAK_SESSION_HELPER_BUS_NAME,
     "--",
     "true",
     NULL
@@ -72,6 +75,21 @@ check_launch_on_host (const char *launch_executable,
   return TRUE;
 }
 
+static FlatpakBwrap *
+get_subsandbox_adverb (const char *launch_executable)
+{
+  FlatpakBwrap *ret = flatpak_bwrap_new (flatpak_bwrap_empty_env);
+
+  flatpak_bwrap_add_arg (ret, launch_executable);
+  /* Tell pressure-vessel-launch to send its whole environment
+   * to the subsandbox, except for the parts that we edit later.
+   * This effectively matches bwrap's behaviour. */
+  flatpak_bwrap_add_arg (ret, "--pass-env-matching=*");
+  flatpak_bwrap_add_arg (ret, "--bus-name=" FLATPAK_PORTAL_BUS_NAME);
+
+  return ret;
+}
+
 /*
  * pv_wrap_check_flatpak:
  * @tools_dir: Path to .../pressure-vessel/bin/
@@ -139,15 +157,7 @@ pv_wrap_check_flatpak (const char *tools_dir,
     {
       g_warning ("Assuming your version of Flatpak contains unmerged "
                  "changes (#4018, #4125, #4126, #4093)");
-      /* Use a sub-sandbox */
-      subsandbox = flatpak_bwrap_new (flatpak_bwrap_empty_env);
-      flatpak_bwrap_add_arg (subsandbox, launch_executable);
-      /* Tell pressure-vessel-launch to send its whole environment
-       * to the subsandbox, except for the parts that we edit later.
-       * This effectively matches bwrap's behaviour. */
-      flatpak_bwrap_add_arg (subsandbox, "--pass-env-matching=*");
-      flatpak_bwrap_add_arg (subsandbox,
-                             "--bus-name=org.freedesktop.portal.Flatpak");
+      subsandbox = get_subsandbox_adverb (launch_executable);
     }
   /* Also deliberately not documented */
   else if (g_getenv ("PRESSURE_VESSEL_FLATPAK_SANDBOX_ESCAPE") != NULL)