diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c
index 79b92b329e1447203966a2552a1633e2a8b1d794..ae21c3613e3f11c3c8506dbe5c970bf3310fbb7b 100644
--- a/src/backend/access/heap/heapam.c
+++ b/src/backend/access/heap/heapam.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/access/heap/heapam.c,v 1.265 2008/10/08 01:14:44 tgl Exp $
+ *	  $PostgreSQL: pgsql/src/backend/access/heap/heapam.c,v 1.266 2008/10/27 21:50:12 alvherre Exp $
  *
  *
  * INTERFACE ROUTINES
@@ -3818,6 +3818,8 @@ log_heap_freeze(Relation reln, Buffer buffer,
 
 	/* Caller should not call me on a temp relation */
 	Assert(!reln->rd_istemp);
+	/* nor when there are no tuples to freeze */
+	Assert(offcnt > 0);
 
 	xlrec.node = reln->rd_node;
 	xlrec.block = BufferGetBlockNumber(buffer);
@@ -3833,16 +3835,8 @@ log_heap_freeze(Relation reln, Buffer buffer,
 	 * it is.  When XLogInsert stores the whole buffer, the offsets array need
 	 * not be stored too.
 	 */
-	if (offcnt > 0)
-	{
-		rdata[1].data = (char *) offsets;
-		rdata[1].len = offcnt * sizeof(OffsetNumber);
-	}
-	else
-	{
-		rdata[1].data = NULL;
-		rdata[1].len = 0;
-	}
+	rdata[1].data = (char *) offsets;
+	rdata[1].len = offcnt * sizeof(OffsetNumber);
 	rdata[1].buffer = buffer;
 	rdata[1].buffer_std = true;
 	rdata[1].next = NULL;