diff --git a/src/interfaces/ecpg/test/Makefile b/src/interfaces/ecpg/test/Makefile
index 73ac9e2ac0e1936f53a34eaf96035cf354a620c5..6097fea900b2077f7ed69d6da3be572148577b2b 100644
--- a/src/interfaces/ecpg/test/Makefile
+++ b/src/interfaces/ecpg/test/Makefile
@@ -81,7 +81,7 @@ check: all
 	$(with_temp_install) ./pg_regress $(REGRESS_OPTS) --temp-instance=./tmp_check $(TEMP_CONF) --bindir= $(pg_regress_locale_flags) $(THREAD) --schedule=$(srcdir)/ecpg_schedule sql/twophase
 
 # the same options, but with --listen-on-tcp
-checktcp: all
+checktcp: all | temp-install
 	$(with_temp_install) ./pg_regress $(REGRESS_OPTS) --temp-instance=./tmp_check $(TEMP_CONF) --bindir= $(pg_regress_locale_flags) $(THREAD) --schedule=$(srcdir)/ecpg_schedule_tcp --host=localhost
 
 installcheck: all
@@ -95,5 +95,5 @@ installcheck: all
 installcheck-prepared-txns: all
 	./pg_regress $(REGRESS_OPTS) --bindir='$(bindir)' $(pg_regress_locale_flags) $(THREAD) --schedule=$(srcdir)/ecpg_schedule sql/twophase
 
-check-prepared-txns: all
+check-prepared-txns: all | temp-install
 	$(with_temp_install) ./pg_regress $(REGRESS_OPTS) --temp-instance=./tmp_check $(TEMP_CONF) --bindir= $(pg_regress_locale_flags) $(THREAD) --schedule=$(srcdir)/ecpg_schedule sql/twophase
diff --git a/src/test/locale/Makefile b/src/test/locale/Makefile
index 26ec5c9a904c231e8636dc96834a5d9be191d15f..22a45b65f2c76bfdebfa1092b340dc16576a6d49 100644
--- a/src/test/locale/Makefile
+++ b/src/test/locale/Makefile
@@ -16,5 +16,6 @@ clean distclean maintainer-clean:
 		$(MAKE) -C $$d clean || exit; \
 	done
 
+# These behave like installcheck targets.
 check-%: all
 	@$(MAKE) -C `echo $@ | sed 's/^check-//'` test
diff --git a/src/test/modules/brin/Makefile b/src/test/modules/brin/Makefile
index 912dca8009745227d36f212eae9e4c4dadcf6a8c..566655cd61d5946e3b3c6f3fbcc38d0b8a1d91c5 100644
--- a/src/test/modules/brin/Makefile
+++ b/src/test/modules/brin/Makefile
@@ -21,13 +21,13 @@ endif
 
 check: isolation-check prove-check
 
-isolation-check: | submake-isolation
+isolation-check: | submake-isolation temp-install
 	$(MKDIR_P) isolation_output
 	$(pg_isolation_regress_check) \
 	    --outputdir=./isolation_output \
 	    $(ISOLATIONCHECKS)
 
-prove-check:
+prove-check: | temp-install
 	$(prove_check)
 
 .PHONY: check isolation-check prove-check
diff --git a/src/test/modules/commit_ts/Makefile b/src/test/modules/commit_ts/Makefile
index 86b93b5e762920f1ed8e9b34e14bc69715439ca9..6d4f3be358e7c6d61709b2ebf7f8533bb2ef79e1 100644
--- a/src/test/modules/commit_ts/Makefile
+++ b/src/test/modules/commit_ts/Makefile
@@ -16,5 +16,5 @@ endif
 
 check: prove-check
 
-prove-check:
+prove-check: | temp-install
 	$(prove_check)
diff --git a/src/test/modules/test_pg_dump/Makefile b/src/test/modules/test_pg_dump/Makefile
index 5050572777d7ce609d85fc63cad5c2d1071a08d6..c64b35370729ffbdbbe2f2b47f585d3dff1b5f2f 100644
--- a/src/test/modules/test_pg_dump/Makefile
+++ b/src/test/modules/test_pg_dump/Makefile
@@ -21,5 +21,5 @@ endif
 
 check: prove-check
 
-prove-check:
+prove-check: | temp-install
 	$(prove_check)
diff --git a/src/test/regress/GNUmakefile b/src/test/regress/GNUmakefile
index b923ea142031052e561d7fad3ded467d997609d2..3ab5d7c72328935a6aabb34d86bd91fd274914bf 100644
--- a/src/test/regress/GNUmakefile
+++ b/src/test/regress/GNUmakefile
@@ -129,7 +129,7 @@ REGRESS_OPTS = --dlpath=. $(EXTRA_REGRESS_OPTS)
 check: all tablespace-setup
 	$(pg_regress_check) $(REGRESS_OPTS) --schedule=$(srcdir)/parallel_schedule $(MAXCONNOPT) $(EXTRA_TESTS)
 
-check-tests: all tablespace-setup
+check-tests: all tablespace-setup | temp-install
 	$(pg_regress_check) $(REGRESS_OPTS) $(MAXCONNOPT) $(TESTS) $(EXTRA_TESTS)
 
 installcheck: all tablespace-setup
@@ -153,7 +153,7 @@ runtest-parallel: installcheck-parallel
 bigtest: all tablespace-setup
 	$(pg_regress_installcheck) $(REGRESS_OPTS) --schedule=$(srcdir)/serial_schedule numeric_big
 
-bigcheck: all tablespace-setup
+bigcheck: all tablespace-setup | temp-install
 	$(pg_regress_check) $(REGRESS_OPTS) --schedule=$(srcdir)/parallel_schedule $(MAXCONNOPT) numeric_big