diff --git a/src/nls-global.mk b/src/nls-global.mk
index 25899a49b404490b642ab9c86bf0c21311b51d87..2e11b48eba6f01b38da9ba28c0d1690fc563c6c3 100644
--- a/src/nls-global.mk
+++ b/src/nls-global.mk
@@ -40,7 +40,11 @@ ALL_PO_FILES = $(addprefix po/, $(addsuffix .po, $(AVAIL_LANGUAGES)))
 MO_FILES = $(addprefix po/, $(addsuffix .mo, $(LANGUAGES)))
 
 ifdef XGETTEXT
-XGETTEXT += -ctranslator --copyright-holder='PostgreSQL Global Development Group' --msgid-bugs-address=pgsql-bugs@postgresql.org
+XGETTEXT += -ctranslator --copyright-holder='PostgreSQL Global Development Group' --msgid-bugs-address=pgsql-bugs@postgresql.org --no-wrap --sort-by-file
+endif
+
+ifdef MSGMERGE
+MSGMERGE += --no-wrap --sort-by-file
 endif
 
 # _ is defined in c.h, so it's global