diff --git a/src/backend/commands/sequence.c b/src/backend/commands/sequence.c
index 8313d15c65116368ae65ed83ba54c32b7de1c9ec..b19879b94728bc7cafe994a5333d97a4e0ce4c2b 100644
--- a/src/backend/commands/sequence.c
+++ b/src/backend/commands/sequence.c
@@ -85,6 +85,7 @@ DefineSequence(CreateSeqStmt *seq)
 	Datum		value[SEQ_COL_LASTCOL];
 	char		null[SEQ_COL_LASTCOL];
 	int			i;
+	NameData	name;
 
 	/* Check and set values */
 	init_params(seq, &new);
@@ -110,7 +111,8 @@ DefineSequence(CreateSeqStmt *seq)
 			case SEQ_COL_NAME:
 				typnam->name = "name";
 				coldef->colname = "sequence_name";
-				value[i - 1] = PointerGetDatum(seq->seqname);
+				namestrcpy(&name, seq->seqname);
+				value[i - 1] = NameGetDatum(&name);
 				break;
 			case SEQ_COL_LASTVAL:
 				typnam->name = "int4";