diff --git a/src/Makefile.in b/src/Makefile.in
index efe73aab0c92b108ec9ec6d8a1678fd80cf9b57d..66f94ce3eaa76d2e7d8b94882fab1d8df24b2e0a 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -549,7 +549,7 @@ undump_modules: delete_dumped_modules
 # -Hubbe
 #
 .cmod.c: precompile.sh-stamp $(TMP_BINDIR)/precompile.pike
-	./precompile.sh --cache precompile.pike $(PRECOMPILER_ARGS) >"$@" "$<" || { rm "$@"; exit 1; }
+	./precompile.sh --cache precompile.pike --api=3 $(PRECOMPILER_ARGS) >"$@" "$<" || { rm "$@"; exit 1; }
 
 # The same applies to this.
 .symlist.c: precompile.sh-stamp $(SRCDIR)/mklibpike.pike
diff --git a/src/modules/common_module_makefile.in b/src/modules/common_module_makefile.in
index 27912fc35d1b7a988bb946bcb90ef314f7ac7ba8..cbd29dea0478a8361c92e65124f5acd168216f6a 100644
--- a/src/modules/common_module_makefile.in
+++ b/src/modules/common_module_makefile.in
@@ -44,13 +44,13 @@ $(MODULE_ARCHIVES) ThisIsAPhonyTargetBlaBlaBla: force
 .SUFFIXES: .c .o .cmod .protos .m .mmod .cc .ccmod
 
 .cmod.c: $(BUILD_BASE)/precompile.sh-stamp $(TMP_BINDIR)/precompile.pike
-	$(BUILD_BASE)/precompile.sh --cache precompile.pike $(PRECOMPILER_ARGS) >"$@" "$<" || { rm "$@"; exit 1; }
+	$(BUILD_BASE)/precompile.sh --cache precompile.pike --api=3 $(PRECOMPILER_ARGS) >"$@" "$<" || { rm "$@"; exit 1; }
 
 .mmod.m: $(BUILD_BASE)/precompile.sh-stamp $(TMP_BINDIR)/precompile.pike
-	$(BUILD_BASE)/precompile.sh --cache precompile.pike $(PRECOMPILER_ARGS) >"$@" "$<" || { rm "$@"; exit 1; }
+	$(BUILD_BASE)/precompile.sh --cache precompile.pike --api=3 $(PRECOMPILER_ARGS) >"$@" "$<" || { rm "$@"; exit 1; }
 
 .ccmod.cc: $(BUILD_BASE)/precompile.sh-stamp $(TMP_BINDIR)/precompile.pike
-	$(BUILD_BASE)/precompile.sh --cache precompile.pike $(PRECOMPILER_ARGS) >"$@" "$<" || { rm "$@"; exit 1; }
+	$(BUILD_BASE)/precompile.sh --cache precompile.pike --api=3 $(PRECOMPILER_ARGS) >"$@" "$<" || { rm "$@"; exit 1; }
 
 
 # GCC dumps core on some files @ OSF1