diff --git a/src/dmq.c b/src/dmq.c
index 163e0a260b..6c72580c6a 100644
--- a/src/dmq.c
+++ b/src/dmq.c
@@ -1449,7 +1449,11 @@ dmq_receiver_loop(PG_FUNCTION_ARGS)
 		extra = dmq_receiver_start_hook(sender_name);
 
 	/* do not hold globalxmin. XXX: try to carefully release snaps */
+#ifdef PGPRO_EE
+	pg_atomic_write_u64(&MyPgXact->xmin, InvalidTransactionId);
+#else
 	MyPgXact->xmin = InvalidTransactionId;
+#endif
 
 	for (;;)
 	{