diff --git a/GNUmakefile.in b/GNUmakefile.in
index 5ebdb8b202c715f64cb1d453189c61412ccc33eb..17b1b3b5a4080821b308ad6f0e813a246cfa2296 100644
--- a/GNUmakefile.in
+++ b/GNUmakefile.in
@@ -39,7 +39,7 @@ install-world:
 # build src/ before contrib/
 install-world-contrib-recurse: install-world-src-recurse
 
-$(call recurse,installdirs uninstall coverage,doc src config)
+$(call recurse,installdirs uninstall coverage init-po update-po,doc src config)
 
 $(call recurse,distprep,doc src config contrib)
 
diff --git a/src/Makefile.global.in b/src/Makefile.global.in
index 3941d969b8680ef71af043505f0cacda5b9af9ab..5b438193f98029084ff07a6f0d4711c63fead6f0 100644
--- a/src/Makefile.global.in
+++ b/src/Makefile.global.in
@@ -18,7 +18,7 @@
 #
 # Meta configuration
 
-standard_targets = all install installdirs uninstall distprep clean distclean maintainer-clean coverage check installcheck maintainer-check
+standard_targets = all install installdirs uninstall distprep clean distclean maintainer-clean coverage check installcheck maintainer-check init-po update-po
 # these targets should recurse even into subdirectories not being built:
 standard_always_targets = distprep clean distclean maintainer-clean
 
diff --git a/src/pl/plpgsql/Makefile b/src/pl/plpgsql/Makefile
index 7112e7e2630d867d34bb64f346167944f9dbc29b..6588625c0faf5fa4b5c39230472b70bd1c8cb137 100644
--- a/src/pl/plpgsql/Makefile
+++ b/src/pl/plpgsql/Makefile
@@ -12,5 +12,6 @@ subdir = src/pl/plpgsql
 top_builddir = ../../..
 include $(top_builddir)/src/Makefile.global
 
-all install installdirs uninstall distprep clean distclean maintainer-clean coverage:
-	$(MAKE) -C src $@
+SUBDIRS = src
+
+$(recurse)