diff --git a/Lib/posixfile.py b/Lib/posixfile.py
index fc5f53f..d66517f 100644
--- a/Lib/posixfile.py
+++ b/Lib/posixfile.py
@@ -177,7 +177,7 @@
 	# Hack by davem@magnet.com to get locking to go on freebsd;
 	# additions for AIX by Vladimir.Marangozov@imag.fr
         import sys, os
-        if sys.platform == 'freebsd2':
+        if sys.platform in ('netbsd1', 'freebsd2', 'freebsd3'):
 	    flock = struct.pack('lxxxxlxxxxlhh', \
 		  l_start, l_len, os.getpid(), l_type, l_whence) 
         elif sys.platform in ['aix3', 'aix4']:
@@ -190,7 +190,7 @@
 	flock = fcntl.fcntl(self._file_.fileno(), cmd, flock)
 
 	if '?' in how:
-	    if sys.platform == 'freebsd2':
+	    if sys.platform in ('netbsd1', 'freebsd2', 'freebsd3'):
 		l_start, l_len, l_pid, l_type, l_whence = \
 		    struct.unpack('lxxxxlxxxxlhh', flock)
             elif sys.platform in ['aix3', 'aix4']:
diff --git a/Lib/test/test_fcntl.py b/Lib/test/test_fcntl.py
index a5ea1e6..2ae6b99 100755
--- a/Lib/test/test_fcntl.py
+++ b/Lib/test/test_fcntl.py
@@ -5,7 +5,7 @@
 import struct
 import fcntl
 import FCNTL
-import os
+import os, sys
 from test_support import verbose
 
 filename = '/tmp/delete-me'
@@ -16,7 +16,12 @@
 if verbose:
     print 'Status from fnctl with O_NONBLOCK: ', rv
     
-lockdata = struct.pack('hhllhh', FCNTL.F_WRLCK, 0, 0, 0, 0, 0)
+if sys.platform in ('netbsd1', 'freebsd2', 'freebsd3'):
+    lockdata = struct.pack('lxxxxlxxxxlhh', 0, 0, 0, FCNTL.F_WRLCK, 0)
+elif sys.platform in ['aix3', 'aix4']:
+    lockdata = struct.pack('hhlllii', FCNTL.F_WRLCK, 0, 0, 0, 0, 0, 0)
+else:
+    lockdata = struct.pack('hhllhh', FCNTL.F_WRLCK, 0, 0, 0, 0, 0)
 if verbose:
     print 'struct.pack: ', `lockdata`
     
