diff --git a/package/lsof/lsof-noportmap.patch b/package/lsof/lsof-noportmap.patch
new file mode 100644
index 0000000000..7101fd7d84
--- /dev/null
+++ b/package/lsof/lsof-noportmap.patch
@@ -0,0 +1,18 @@
+--- lsof_4.77/lsof_4.77_src/print.orig.c	2006-08-23 13:37:43.000000000 -0600
++++ lsof_4.77/lsof_4.77_src/print.c	2006-08-23 13:38:29.000000000 -0600
+@@ -148,6 +148,7 @@
+ static void
+ fill_portmap()
+ {
++#if !defined __UCLIBC__ || (defined __UCLIBC__ && defined __UCLIBC_HAS_RPC__)
+ 	char buf[128], *cp, *nm;
+ 	CLIENT *c;
+ 	int h, port, pr;
+@@ -266,6 +267,7 @@
+ 	    Pth[pr][h] = pt;
+ 	}
+ 	clnt_destroy(c);
++#endif
+ }
+ 
+ 
diff --git a/package/lsof/lsof.mk b/package/lsof/lsof.mk
index 6d1cef3bad..6c2966241e 100644
--- a/package/lsof/lsof.mk
+++ b/package/lsof/lsof.mk
@@ -20,6 +20,7 @@ lsof-unpacked: $(LSOF_DIR)/.unpacked
 $(LSOF_DIR)/.unpacked: $(DL_DIR)/$(LSOF_SOURCE)
 	$(LSOF_CAT) $(DL_DIR)/$(LSOF_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
 	(cd $(LSOF_DIR);tar xf lsof_4.77_src.tar;rm -f lsof_4.77_src.tar)
+	toolchain/patch-kernel.sh $(LSOF_DIR) package/lsof/ *.patch
 	touch $(LSOF_DIR)/.unpacked
 
 $(LSOF_DIR)/.configured: $(LSOF_DIR)/.unpacked