diff --git a/package/utils/busybox/Makefile b/package/utils/busybox/Makefile
index 1238bc83f0009cae4942a0474384aa03c73db07f..77e76af7cda998ba244e53c5e7b25ffe8ca5a4c9 100644
--- a/package/utils/busybox/Makefile
+++ b/package/utils/busybox/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=busybox
 PKG_VERSION:=1.28.3
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 PKG_FLAGS:=essential
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
diff --git a/package/utils/busybox/patches/204-udhcpc_no_msg_dontroute.patch b/package/utils/busybox/patches/204-udhcpc_no_msg_dontroute.patch
new file mode 100644
index 0000000000000000000000000000000000000000..e70c412d3a8d730cf18db192793b9863adcc9b31
--- /dev/null
+++ b/package/utils/busybox/patches/204-udhcpc_no_msg_dontroute.patch
@@ -0,0 +1,11 @@
+--- a/networking/udhcp/dhcpc.c
++++ b/networking/udhcp/dhcpc.c
+@@ -700,7 +700,7 @@
+ 		return udhcp_send_kernel_packet(packet,
+ 			ciaddr, CLIENT_PORT,
+ 			server, SERVER_PORT,
+-			/*send_flags: "to hosts only on directly connected networks" */ MSG_DONTROUTE
++			0 /*Was MSG_DONTROUTE here. It prevented unicast renewal requests to server in different subnet*/
+ 		);
+ 	}
+ 	return raw_bcast_from_client_config_ifindex(packet, ciaddr);