diff --git a/debian/changelog b/debian/changelog
index 60d5e13..e3cd00c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+obus (1.2.4-1) UNRELEASED; urgency=low
+
+  * New upstream release.
+
+ -- Debian Janitor <janitor@jelmer.uk>  Sun, 17 Apr 2022 11:31:37 -0000
+
 obus (1.2.3-1) unstable; urgency=medium
 
   * New upstream release
diff --git a/debian/patches/0001-Disable-the-tests-that-need-a-working-dbus-daemon.patch b/debian/patches/0001-Disable-the-tests-that-need-a-working-dbus-daemon.patch
index 14cc097..a4c973e 100644
--- a/debian/patches/0001-Disable-the-tests-that-need-a-working-dbus-daemon.patch
+++ b/debian/patches/0001-Disable-the-tests-that-need-a-working-dbus-daemon.patch
@@ -6,11 +6,11 @@ Subject: Disable the tests that need a working dbus daemon
  tests/main.ml | 6 +++---
  1 file changed, 3 insertions(+), 3 deletions(-)
 
-diff --git a/tests/main.ml b/tests/main.ml
-index edd960f..cf85171 100644
---- a/tests/main.ml
-+++ b/tests/main.ml
-@@ -33,7 +33,7 @@ let rec run_tests failures total = function
+Index: obus/tests/main.ml
+===================================================================
+--- obus.orig/tests/main.ml
++++ obus/tests/main.ml
+@@ -33,7 +33,7 @@ let rec run_tests failures total = funct
        let%lwt () = title name in
        begin
          try%lwt
diff --git a/src/protocol/oBus_address.ml b/src/protocol/oBus_address.ml
index 4a9296f..4d9f526 100644
--- a/src/protocol/oBus_address.ml
+++ b/src/protocol/oBus_address.ml
@@ -108,10 +108,8 @@ let xdg_fallback_session () =
      Lwt.catch (fun () ->
          let sock_path = Filename.concat path "bus" in
          let%lwt stat = Lwt_unix.stat sock_path in
-         let%lwt login = Lwt_unix.getlogin () in
-         let%lwt user = Lwt_unix.getpwnam login in
-         if stat.st_uid = user.pw_uid
-            && stat.st_kind = Lwt_unix.S_SOCK
+         let uid = Unix.getuid () in
+         if stat.st_uid = uid && stat.st_kind = Lwt_unix.S_SOCK
          then Lwt.return_some [{ name = "unix"; args = [("path", sock_path)] }]
          else Lwt.return_none)
        (fun _ -> Lwt.return_none)
diff --git a/tools/tools_util/utils.ml b/tools/tools_util/utils.ml
index 0025fc4..96b02fc 100644
--- a/tools/tools_util/utils.ml
+++ b/tools/tools_util/utils.ml
@@ -130,7 +130,7 @@ let convertor_recv top typ =
     (fun top t ->
        match t with
          | "int32" | "uint32" -> Some "Int32.to_int"
-         | "object_path" -> Some(paren top ("OBus_proxy.make (OBus_context.sender context)"))
+         | "object_path" -> Some(paren top ("(fun x -> OBus_proxy.make ~peer:(OBus_context.sender context) ~path:x)"))
          | name when List.mem name dbus_symbols -> None
          | name -> Some("make_" ^ name))
     top typ
diff --git a/tools/transformers/obus_gen_client.ml b/tools/transformers/obus_gen_client.ml
index d00f013..f63ad54 100644
--- a/tools/transformers/obus_gen_client.ml
+++ b/tools/transformers/obus_gen_client.ml
@@ -141,7 +141,7 @@ let print_impl oc name members symbols annotations =
              output_string oc "         ";
              print_names oc names;
              output_string oc ")\n";
-             fprintf oc "      (OBus_signal.connect s_%s proxy)\n" name
+             fprintf oc "      (OBus_signal.make s_%s proxy)\n" name
            end
        | Property(name, typ, access, annotations) ->
            fprintf oc "\n  let %s proxy =\n" (OBus_name.ocaml_lid name);