diff --git a/ChangeLog b/ChangeLog
index 37abc75a6f11398c4f4c865254361f179f9c8a21..87b259118a76a8d2a6e36778628207f093ff365e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2004-12-02  Niels Möller  <nisse@lysator.liu.se>
 
+	* Makefile.in (.SUFFIXES): Moved from Makefile.in to...
+	* config.make.in (.SUFFIXES): ... here.	This helps compilation
+	with BSD make.
+	* testsuite/Makefile.in (.SUFFIXES): Deleted target.
+
 	* config.make.in (.c): Disable default rule for BSD-make.
 
 	* Makefile.in (all check install uninstall) 
diff --git a/Makefile.in b/Makefile.in
index 1f6164501ac975ddd8fcfd897e8339812d40d507..f4383722a0bef49f457efa8e5cd8538264aaba4f 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -35,9 +35,6 @@ check-here:
 dvi installcheck uninstallcheck:
 	true
 
-.SUFFIXES:
-.SUFFIXES: .asm .html .c .dvi .info .$(OBJEXT) .p$(OBJEXT) .exe .pdf .ps .texinfo
-
 all-here: $(TARGETS)
 
 nettle_SOURCES = aes.c \
@@ -136,12 +133,6 @@ $(SHLIBFORLINK): $(nettle_PURE_OBJS)
 .$(OBJEXT)$(EXEEXT):
 	$(LINK) $< $(LIBS) -o $@
 
-# aesdata$(EXEEXT): aesdata.$(OBJEXT)
-# 	$(LINK) $< $(LIBS) -o $@
-# 
-# desdata$(EXEEXT): desdata.$(OBJEXT)
-# 	$(LINK) $< $(LIBS) -o $@
-
 shadata$(EXEEXT): shadata.$(OBJEXT)
 	$(LINK) shadata.$(OBJEXT) $(LIBS) -lm -o $@
 
diff --git a/config.make.in b/config.make.in
index 537599b24e8df9f7e63ff82bc45b8a6961881636..404389c1cbd66e9146e76126d568e8af236834e8 100644
--- a/config.make.in
+++ b/config.make.in
@@ -64,13 +64,16 @@ LINK = $(CC) $(CFLAGS) $(PRE_LDFLAGS) $(LDFLAGS)
 # usual targets.
 default: all
 
+# For some reason the suffixes list must be set before the rules.
+# Otherwise BSD make won't build binaries e.g. aesdata.
+
+.SUFFIXES:
+.SUFFIXES: .asm .c .$(OBJEXT) .p$(OBJEXT) .html .dvi .info .exe .pdf .ps .texinfo
+
 # Disable builtin rule
 %$(EXEEXT) : %.c
 .c:
 
-# Keep object files
-.PRECIOUS: %.o
-
 .PHONY: all check install uninstall clean distclean mostlyclean maintainer-clean distdir \
 	all-here check-here install-here clean-here distclean-here mostlyclean-here \
 	maintainer-clean-here distdir-here \
diff --git a/testsuite/Makefile.in b/testsuite/Makefile.in
index 5a0fde45ee7297f1274294f47238f282e72c8017..b91939f339ecd43f263cba8ae13162376489b349 100644
--- a/testsuite/Makefile.in
+++ b/testsuite/Makefile.in
@@ -35,9 +35,6 @@ DISTFILES = $(SOURCES) Makefile.in $(TS_SH) run-tests rfc1750.txt testutils.h
 
 all: $(TARGETS)
 
-.SUFFIXES:
-.SUFFIXES: .c .$(OBJEXT) .exe
-
 .c.$(OBJEXT):
 	$(COMPILE) -I.. -c $< && $(DEP_PROCESS)