diff --git a/package/hotplug2/Makefile b/package/hotplug2/Makefile
index bf7c8c6b090ae51bdddb8ee926a3c1e65c7a5b6b..c696f09f5bc536b2e50c89ff2243f3ef247f4da8 100644
--- a/package/hotplug2/Makefile
+++ b/package/hotplug2/Makefile
@@ -29,7 +29,7 @@ define Package/hotplug2/description
 Hotplug2 is a trivial replacement of some of the UDev functionality
 in a tiny pack, intended for Linux early userspace: Init RAM FS and InitRD.
 endef
-MAKE_FLAGS += CFLAGS="$(TARGET_CFLAGS)"
+MAKE_FLAGS += CFLAGS="$(TARGET_CFLAGS) -DHAVE_RULES"
 
 define Package/hotplug2/install
 	$(INSTALL_DIR) $(1)/etc
diff --git a/package/hotplug2/patches/120-action_types.patch b/package/hotplug2/patches/120-action_types.patch
new file mode 100644
index 0000000000000000000000000000000000000000..c81b241b7a3730489ae3c967124c9c3a40608cf9
--- /dev/null
+++ b/package/hotplug2/patches/120-action_types.patch
@@ -0,0 +1,13 @@
+Index: hotplug2-0.9/hotplug2.c
+===================================================================
+--- hotplug2-0.9.orig/hotplug2.c	2007-06-25 09:07:07.038012616 +0200
++++ hotplug2-0.9/hotplug2.c	2007-06-25 09:07:19.420130248 +0200
+@@ -555,7 +555,7 @@
+ 		if (cur_seqnum > highest_seqnum)
+ 			highest_seqnum = cur_seqnum;
+ 		
+-		if (tmpevent->action == ACTION_ADD && (!dumb || modalias != NULL)) {
++		if (!dumb || modalias != NULL) {
+ 			/* 
+ 			 * We have more children than we want. Wait until SIGCHLD handler reduces
+ 			 * their numbers.