diff -ru LVM2.2.02.95-orig/udev/10-dm.rules.in LVM2.2.02.95/udev/10-dm.rules.in
--- LVM2.2.02.95-orig/udev/10-dm.rules.in	2011-08-11 19:55:29.000000000 +0200
+++ LVM2.2.02.95/udev/10-dm.rules.in	2012-03-19 20:12:35.000000000 +0100
@@ -19,9 +19,8 @@
 SUBSYSTEM!="block", GOTO="dm_end"
 KERNEL!="dm-[0-9]*", GOTO="dm_end"
 
-# Set proper sbin path, /sbin has higher priority than /usr/sbin.
-ENV{DM_SBIN_PATH}="/sbin"
-TEST!="$env{DM_SBIN_PATH}/dmsetup", ENV{DM_SBIN_PATH}="/usr/sbin"
+# Set proper sbin path. Exit if dmsetup is not present.
+ENV{DM_SBIN_PATH}="(sbindir)"
 TEST!="$env{DM_SBIN_PATH}/dmsetup", GOTO="dm_end"
 
 # Device created, major and minor number assigned - "add" event generated.
diff -ru LVM2.2.02.95-orig/udev/Makefile.in LVM2.2.02.95/udev/Makefile.in
--- LVM2.2.02.95-orig/udev/Makefile.in	2012-02-24 10:53:12.000000000 +0100
+++ LVM2.2.02.95/udev/Makefile.in	2012-03-19 20:16:09.000000000 +0100
@@ -12,6 +12,7 @@
 # Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
 srcdir = @srcdir@
+sbindir = @sbindir@
 top_srcdir = @top_srcdir@
 top_builddir = @top_builddir@
 
@@ -26,7 +27,7 @@
 ifeq ("@UDEV_HAS_BUILTIN_BLKID@", "yes")
 	BLKID_RULE=IMPORT{builtin}=\"blkid\"
 else
-	BLKID_RULE=IMPORT{program}=\"\$$env{DM_SBIN_PATH}\/blkid -o udev -p \$$tempnode\"
+	BLKID_RULE=IMPORT{program}=\"\/sbin\/blkid -o udev -p \$$tempnode\"
 endif
 
 CLEAN_TARGETS = 10-dm.rules 13-dm-disk.rules
@@ -36,7 +37,7 @@
 vpath %.rules $(srcdir)
 
 %.rules: %.rules.in
-	$(SED) -e "s/(DM_DIR)/$(DM_DIR)/" -e "s/(BLKID_RULE)/$(BLKID_RULE)/" $< >$@
+	$(SED) -e "s/(DM_DIR)/$(DM_DIR)/" -e "s/(BLKID_RULE)/$(BLKID_RULE)/" -e "s|(sbindir)|$(sbindir)|" $< >$@
 
 %_install: %.rules
 	$(INSTALL_DATA) -D $< $(udevdir)/$(<F)
