diff --git a/mpi/ChangeLog b/mpi/ChangeLog
index de8c1e18c..4cb44d254 100644
--- a/mpi/ChangeLog
+++ b/mpi/ChangeLog
@@ -1,3 +1,9 @@
+2002-07-25  David Shaw  <dshaw@jabberwocky.com>
+
+	* config.links: Add special rule for OpenBSD on x86 to use special
+	i386-openbsd files.  OpenBSD (at least until version 3.1) has an
+	older assembler that won't work with the files in i386.
+
 2002-07-24  Stefan Bellon  <sbellon@sbellon.de>
 
 	* longlong.h [__riscos__]: Removed #pragma which is not needed
diff --git a/mpi/config.links b/mpi/config.links
index cb89513a5..64645a297 100644
--- a/mpi/config.links
+++ b/mpi/config.links
@@ -54,6 +54,13 @@ case "${target}" in
        cat  $srcdir/mpi/i386/syntax.h	 >>./mpi/asm-syntax.h
        path="i386"
        ;;
+# Use old assembler syntax for OpenBSD as their assembler is really old.
+    i[34567]86*-*-openbsd*)
+	echo '#define BSD_SYNTAX' >>./mpi/asm-syntax.h
+	echo '#define X86_BROKEN_ALIGN' >>./mpi/asm-syntax.h
+	cat  $srcdir/mpi/i386-openbsd/syntax.h	    >>./mpi/asm-syntax.h
+	path="i386-openbsd"
+	;;
     i[3467]86*-*-linuxaout*  | \
     i[3467]86*-*-linuxoldld* | \
     i[3467]86*-*-*bsd*)