Index: src/backend/access/transam/clog.c
===================================================================
RCS file: /home/sriggs/pg/REPOSITORY/pgsql/src/backend/access/transam/clog.c,v
retrieving revision 1.48
diff -c -r1.48 clog.c
*** src/backend/access/transam/clog.c	20 Oct 2008 19:18:18 -0000	1.48
--- src/backend/access/transam/clog.c	22 Oct 2008 20:24:29 -0000
***************
*** 324,329 ****
--- 324,333 ----
  
  	byteptr = ClogCtl->shared->page_buffer[slotno] + byteno;
  
+ 	if (((*byteptr >> bshift) & CLOG_XACT_BITMASK) == TRANSACTION_STATUS_COMMITTED &&
+ 		 status == TRANSACTION_STATUS_SUB_COMMITTED)
+ 		return;
+ 
  	/* Current state should be 0, subcommitted or target state */
  	Assert(((*byteptr >> bshift) & CLOG_XACT_BITMASK) == 0 ||
  		   ((*byteptr >> bshift) & CLOG_XACT_BITMASK) == TRANSACTION_STATUS_SUB_COMMITTED ||
