diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
index b35a5457f946cb6ed761e68ac2a4195e17fd975c..08288e871a95b0b24ae6ad4e24181e0d60638913 100644
--- a/src/bin/pg_dump/pg_dump.c
+++ b/src/bin/pg_dump/pg_dump.c
@@ -10730,7 +10730,7 @@ dumpTableSecLabel(Archive *fout, TableInfo *tbinfo, const char *reltypename)
 							tbinfo->dobj.catId.oid,
 							&labels);
 
-	/* If comments exist, build SECURITY LABEL statements */
+	/* If security labels exist, build SECURITY LABEL statements */
 	if (nlabels <= 0)
 		return;
 
@@ -10753,9 +10753,9 @@ dumpTableSecLabel(Archive *fout, TableInfo *tbinfo, const char *reltypename)
 		else
 		{
 			colname = getAttrName(objsubid, tbinfo);
-			appendPQExpBuffer(target, "COLUMN %s.%s",
-							  fmtId(tbinfo->dobj.name),
-							  fmtId(colname));
+			/* first fmtId result must be consumed before calling it again */
+			appendPQExpBuffer(target, "COLUMN %s", fmtId(tbinfo->dobj.name));
+			appendPQExpBuffer(target, ".%s", fmtId(colname));
 		}
 		appendPQExpBuffer(query, "SECURITY LABEL FOR %s ON %s IS ",
 						  fmtId(provider), target->data);