diff --git a/pkgs/applications/networking/browsers/w3m/bsd.patch b/pkgs/applications/networking/browsers/w3m/bsd.patch
new file mode 100644
index 00000000000000..9ea117187e93b7
--- /dev/null
+++ b/pkgs/applications/networking/browsers/w3m/bsd.patch
@@ -0,0 +1,37 @@
+diff -rc w3m-0.5.1-orig/configure w3m-0.5.1/configure
+*** w3m-0.5.1-orig/configure	2004-04-28 20:19:24.000000000 +0200
+--- w3m-0.5.1/configure	2005-09-16 11:33:48.000000000 +0200
+***************
+*** 5642,5648 ****
+   echo "$as_me:$LINENO: checking for -l$lib" >&5
+  echo $ECHO_N "checking for -l$lib... $ECHO_C" >&6
+   extlib="not found"
+!  for dir in /lib /usr/lib /usr/local/lib /usr/ucblib /usr/ccslib /usr/ccs/lib
+   do
+     if test -f $dir/lib$lib.a -o -f $dir/lib$lib.so ; then
+      LIBS="$LIBS -l$lib"
+--- 5642,5648 ----
+   echo "$as_me:$LINENO: checking for -l$lib" >&5
+  echo $ECHO_N "checking for -l$lib... $ECHO_C" >&6
+   extlib="not found"
+!  for dir in /no-such-path
+   do
+     if test -f $dir/lib$lib.a -o -f $dir/lib$lib.so ; then
+      LIBS="$LIBS -l$lib"
+***************
+*** 5768,5774 ****
+   if test x"$enable_ipv6" = xno; then
+      echo "$as_me:$LINENO: checking for libinet6" >&5
+  echo $ECHO_N "checking for libinet6... $ECHO_C" >&6
+!     for dir in /usr/local/v6/lib /usr/local/lib /usr/lib
+      do
+  	if test -f $dir/libinet6.a; then
+  	  if test $dir != "/usr/lib"; then
+--- 5768,5774 ----
+   if test x"$enable_ipv6" = xno; then
+      echo "$as_me:$LINENO: checking for libinet6" >&5
+  echo $ECHO_N "checking for libinet6... $ECHO_C" >&6
+!     for dir in /no-such-path
+      do
+  	if test -f $dir/libinet6.a; then
+  	  if test $dir != "/usr/lib"; then
diff --git a/pkgs/applications/networking/browsers/w3m/default.nix b/pkgs/applications/networking/browsers/w3m/default.nix
index fba8155ab57668..675fe5fe00c0a7 100644
--- a/pkgs/applications/networking/browsers/w3m/default.nix
+++ b/pkgs/applications/networking/browsers/w3m/default.nix
@@ -13,4 +13,5 @@ stdenv.mkDerivation {
   };
   inherit openssl boehmgc;
   buildInputs = [ncurses (if sslSupport then openssl else null) boehmgc gettext];
+  patches = [./bsd.patch];
 }