diff --git a/src/bin/pg_upgrade/pg_upgrade.c b/src/bin/pg_upgrade/pg_upgrade.c
index d95c491fb5..b2c8e8e420 100644
--- a/src/bin/pg_upgrade/pg_upgrade.c
+++ b/src/bin/pg_upgrade/pg_upgrade.c
@@ -455,7 +455,9 @@ set_locale_and_encoding(void)
 											locale->db_locale,
 											strlen(locale->db_locale));
 	else
-		datlocale_literal = pg_strdup("NULL");
+		datlocale_literal = PQescapeLiteral(conn_new_template1,
+											"NULL",
+											strlen("NULL"));
 
 	/* update template0 in new cluster */
 	if (GET_MAJOR_VERSION(new_cluster.major_version) >= 1700)
