diff --git a/data/84-nm-drivers.rules b/data/84-nm-drivers.rules
index 148acade5c..6395fbfbe5 100644
--- a/data/84-nm-drivers.rules
+++ b/data/84-nm-drivers.rules
@@ -7,6 +7,6 @@ ACTION!="add|change|move", GOTO="nm_drivers_end"
 # Determine ID_NET_DRIVER if there's no ID_NET_DRIVER or DRIVERS (old udev?)
 ENV{ID_NET_DRIVER}=="?*", GOTO="nm_drivers_end"
 DRIVERS=="?*", GOTO="nm_drivers_end"
-PROGRAM="/bin/sh -c '/usr/sbin/ethtool -i $$1 |/usr/bin/sed -n s/^driver:\ //p' -- $env{INTERFACE}", ENV{ID_NET_DRIVER}="%c"
+PROGRAM="@runtimeShell@ -c '@ethtool@/bin/ethtool -i $$1 |@gnused@/bin/sed -n s/^driver:\ //p' -- $env{INTERFACE}", ENV{ID_NET_DRIVER}="%c"
 
 LABEL="nm_drivers_end"
diff --git a/src/libnmc-base/nm-vpn-helpers.c b/src/libnmc-base/nm-vpn-helpers.c
index cbe76f5f1c..0fc28b83e7 100644
--- a/src/libnmc-base/nm-vpn-helpers.c
+++ b/src/libnmc-base/nm-vpn-helpers.c
@@ -284,15 +284,6 @@ nm_vpn_openconnect_authenticate_helper(NMSettingVpn *s_vpn, GPtrArray *secrets,
     const char *const   *iter;
     const char          *path;
     const char          *opt;
-    const char *const    DEFAULT_PATHS[] = {
-        "/sbin/",
-        "/usr/sbin/",
-        "/usr/local/sbin/",
-        "/bin/",
-        "/usr/bin/",
-        "/usr/local/bin/",
-        NULL,
-    };
     const char *oc_argv[(12 + 2 * G_N_ELEMENTS(oc_property_args))];
     const char *gw;
     int         port;
@@ -311,13 +302,7 @@ nm_vpn_openconnect_authenticate_helper(NMSettingVpn *s_vpn, GPtrArray *secrets,
 
     port = extract_url_port(gw);
 
-    path = nm_utils_file_search_in_paths("openconnect",
-                                         "/usr/sbin/openconnect",
-                                         DEFAULT_PATHS,
-                                         G_FILE_TEST_IS_EXECUTABLE,
-                                         NULL,
-                                         NULL,
-                                         error);
+    path = g_find_program_in_path("openconnect");
     if (!path)
         return FALSE;
 
