diff --git a/src/backend/access/transam/clog.c b/src/backend/access/transam/clog.c
index a02a69f..62dc854 100644
--- a/src/backend/access/transam/clog.c
+++ b/src/backend/access/transam/clog.c
@@ -281,13 +281,15 @@ TransactionIdSetPageStatus(TransactionId xid, int nsubxids,
 		nsubxids < PGPROC_MAX_CACHED_SUBXIDS &&
 		!IsGXactActive())
 	{
+		bool	force_group_commit = true;
+
 		/*
 		 * If we can immediately acquire CLogControlLock, we update the status
 		 * of our own XID and release the lock.  If not, try use group XID
 		 * update.  If that doesn't work out, fall back to waiting for the
 		 * lock to perform an update for this transaction only.
 		 */
-		if (LWLockConditionalAcquire(CLogControlLock, LW_EXCLUSIVE))
+		if (!force_group_commit && LWLockConditionalAcquire(CLogControlLock, LW_EXCLUSIVE))
 		{
 			TransactionIdSetPageStatusInternal(xid, nsubxids, subxids, status, lsn, pageno);
 			LWLockRelease(CLogControlLock);
