diff --git a/srcpkgs/lsof/template b/srcpkgs/lsof/template
index 3864122521..28694f4042 100644
--- a/srcpkgs/lsof/template
+++ b/srcpkgs/lsof/template
@@ -1,6 +1,6 @@
 # Template file for 'lsof'
 pkgname=lsof
-version=4.86
+version=4.87
 revision=1
 wrksrc=lsof_${version}
 makedepends="which perl"
@@ -9,20 +9,23 @@ maintainer="Juan RP <xtraeme@gmail.com>"
 homepage="http://people.freebsd.org/~abe/"
 license="lsof"
 distfiles="ftp://sunsite.ualberta.ca/pub/Mirror/lsof/lsof_${version}.tar.bz2"
-checksum=13e52b8e87dddf1b2e219004e315d755c659217ce6ffc6a5f1102969f1c4dd0c
+checksum=dfdd3709d82bc79ccdf3e404b84aafa9aede5948642a824ecaefd0aac589da2c
 long_desc="
  Lsof is a UNIX-specific tool. Its name stands for LiSt Open Files, and it does
  just that. It lists information about files that are open by the processes
  running on a UNIX system."
 
-do_build() {
+post_extract() {
         # We have to do this dance because the real distfile is
 	# included in the .tar.bz2 archive.
 	tar xf ${wrksrc}/lsof_${version}_src.tar -C ${wrksrc}
+}
+
+do_build() {
 	cd ${wrksrc}/lsof_${version}_src
 	sed "s|/\* #define\tHASSECURITY\t1 \*/|#define\tHASSECURITY\t1|" \
 		-i dialects/linux/machine.h
-	./Configure -n linux
+	LSOF_CFGF="$CFLAGS" ./Configure -n linux
 	make ${makejobs}
 }