diff --git a/Makefile b/Makefile
index 976d5b885f61f4f776ea12db32f2f349547716c7..1067b5a62d2edca75e43f606faa04e3e83ecbc47 100644
--- a/Makefile
+++ b/Makefile
@@ -231,6 +231,9 @@ ifeq ($(PROC),ppc)
 endif
 
 ifeq ($(OSARCH),FreeBSD)
+  ifeq ($(PROC),i386)
+    _ASTCFLAGS+=-march=i686
+  endif
   # -V is understood by BSD Make, not by GNU make.
   BSDVERSION=$(shell make -V OSVERSION -f /usr/share/mk/bsd.port.subdir.mk)
   _ASTCFLAGS+=$(shell if test $(BSDVERSION) -lt 500016 ; then echo "-D_THREAD_SAFE"; fi)