diff -Nur hal-0.5.11.orig/hald/linux/blockdev.c hal-0.5.11/hald/linux/blockdev.c
--- hal-0.5.11.orig/hald/linux/blockdev.c	2008-05-08 01:23:41.000000000 +0200
+++ hal-0.5.11/hald/linux/blockdev.c	2008-09-12 19:38:36.000000000 +0200
@@ -1750,11 +1750,11 @@
         char *ret;
         char *u_stdout;
         int u_exit_status;
-        const char *argv[] = {"/usr/bin/udevinfo", "--root", "--query", "name", "--path", NULL, NULL};
+        const char *argv[] = {"/sbin/udevadm", "info", "--root", "--query", "name", "--path", NULL, NULL};
         GError *g_error;
 
         ret = NULL;
-        argv[5] = sysfs_path;
+        argv[6] = sysfs_path;
 
         g_error = NULL;
 
diff -Nur hal-0.5.11.orig/hald/linux/coldplug.c hal-0.5.11/hald/linux/coldplug.c
--- hal-0.5.11.orig/hald/linux/coldplug.c	2008-05-08 01:23:32.000000000 +0200
+++ hal-0.5.11/hald/linux/coldplug.c	2008-09-12 19:37:47.000000000 +0200
@@ -149,8 +149,8 @@
 static gboolean
 hal_util_init_sysfs_to_udev_map (void)
 {
-	char *udevdb_export_argv[] = { "/usr/bin/udevinfo", "-e", NULL };
-	char *udevroot_argv[] = { "/usr/bin/udevinfo", "-r", NULL };
+	char *udevdb_export_argv[] = { "/sbin/udevadm", "info", "-e", NULL };
+	char *udevroot_argv[] = { "/sbin/udevadm", "info", "-r", NULL };
 	int udevinfo_exitcode;
 	UdevInfo *info = NULL;
 	char *p;