diff --git a/src/backend/catalog/objectaddress.c b/src/backend/catalog/objectaddress.c
index d371c47842..baa77e4e79 100644
--- a/src/backend/catalog/objectaddress.c
+++ b/src/backend/catalog/objectaddress.c
@@ -3356,6 +3356,7 @@ getObjectDescription(const ObjectAddress *object)
 				SysScanDesc sscan;
 				HeapTuple	tuple;
 				Form_pg_policy form_policy;
+				StringInfoData reldesc;
 
 				policy_rel = heap_open(PolicyRelationId, AccessShareLock);
 
@@ -3375,9 +3376,13 @@ getObjectDescription(const ObjectAddress *object)
 
 				form_policy = (Form_pg_policy) GETSTRUCT(tuple);
 
-				appendStringInfo(&buffer, _("policy %s on "),
-								 NameStr(form_policy->polname));
-				getRelationDescription(&buffer, form_policy->polrelid);
+				initStringInfo(&reldesc);
+				getRelationDescription(&reldesc, form_policy->polrelid);
+
+				appendStringInfo(&buffer, _("policy %s on %s"),
+								 NameStr(form_policy->polname),
+								 reldesc.data);
+				pfree(reldesc.data);
 
 				systable_endscan(sscan);
 				heap_close(policy_rel, AccessShareLock);
