diff --git a/contrib/test_decoding/expected/stats.out b/contrib/test_decoding/expected/stats.out
index c4464f4..2af795e 100644
--- a/contrib/test_decoding/expected/stats.out
+++ b/contrib/test_decoding/expected/stats.out
@@ -42,10 +42,10 @@ $$ LANGUAGE plpgsql;
 BEGIN;
 INSERT INTO stats_test SELECT 'serialize-topbig--1:'||g.i FROM generate_series(1, 5000) g(i);
 COMMIT;
-SELECT count(*) FROM pg_logical_slot_peek_changes('regression_slot', NULL,NULL);
+SELECT count(*) FROM pg_logical_slot_peek_changes('regression_slot', NULL, NULL, 'skip-empty-xacts', '1');
  count 
 -------
-  5006
+  5002
 (1 row)
 
 -- check stats, wait for stats collector to update.
@@ -55,10 +55,10 @@ SELECT wait_for_decode_stats(false);
  
 (1 row)
 
-SELECT name, spill_txns, spill_count FROM pg_stat_replication_slots;
+SELECT name, spill_txns > 0 AS spill_txns, spill_count > 0 AS spill_count FROM pg_stat_replication_slots;
       name       | spill_txns | spill_count 
 -----------------+------------+-------------
- regression_slot |          1 |          12
+ regression_slot | t          | t
 (1 row)
 
 -- reset the slot stats, and wait for stats collector to reset
@@ -81,10 +81,10 @@ SELECT name, spill_txns, spill_count FROM pg_stat_replication_slots;
 (1 row)
 
 -- decode and check stats again.
-SELECT count(*) FROM pg_logical_slot_peek_changes('regression_slot', NULL,NULL);
+SELECT count(*) FROM pg_logical_slot_peek_changes('regression_slot', NULL, NULL, 'skip-empty-xacts', '1');
  count 
 -------
-  5006
+  5002
 (1 row)
 
 SELECT wait_for_decode_stats(false);
@@ -93,10 +93,10 @@ SELECT wait_for_decode_stats(false);
  
 (1 row)
 
-SELECT name, spill_txns, spill_count FROM pg_stat_replication_slots;
+SELECT name, spill_txns > 0 AS spill_txns, spill_count > 0 AS spill_count FROM pg_stat_replication_slots;
       name       | spill_txns | spill_count 
 -----------------+------------+-------------
- regression_slot |          1 |          12
+ regression_slot | t          | t
 (1 row)
 
 DROP FUNCTION wait_for_decode_stats(bool);
diff --git a/contrib/test_decoding/sql/stats.sql b/contrib/test_decoding/sql/stats.sql
index 7d406f0..a1555e1 100644
--- a/contrib/test_decoding/sql/stats.sql
+++ b/contrib/test_decoding/sql/stats.sql
@@ -41,11 +41,11 @@ $$ LANGUAGE plpgsql;
 BEGIN;
 INSERT INTO stats_test SELECT 'serialize-topbig--1:'||g.i FROM generate_series(1, 5000) g(i);
 COMMIT;
-SELECT count(*) FROM pg_logical_slot_peek_changes('regression_slot', NULL,NULL);
+SELECT count(*) FROM pg_logical_slot_peek_changes('regression_slot', NULL, NULL, 'skip-empty-xacts', '1');
 
 -- check stats, wait for stats collector to update.
 SELECT wait_for_decode_stats(false);
-SELECT name, spill_txns, spill_count FROM pg_stat_replication_slots;
+SELECT name, spill_txns > 0 AS spill_txns, spill_count > 0 AS spill_count FROM pg_stat_replication_slots;
 
 -- reset the slot stats, and wait for stats collector to reset
 SELECT pg_stat_reset_replication_slot('regression_slot');
@@ -53,9 +53,9 @@ SELECT wait_for_decode_stats(true);
 SELECT name, spill_txns, spill_count FROM pg_stat_replication_slots;
 
 -- decode and check stats again.
-SELECT count(*) FROM pg_logical_slot_peek_changes('regression_slot', NULL,NULL);
+SELECT count(*) FROM pg_logical_slot_peek_changes('regression_slot', NULL, NULL, 'skip-empty-xacts', '1');
 SELECT wait_for_decode_stats(false);
-SELECT name, spill_txns, spill_count FROM pg_stat_replication_slots;
+SELECT name, spill_txns > 0 AS spill_txns, spill_count > 0 AS spill_count FROM pg_stat_replication_slots;
 
 DROP FUNCTION wait_for_decode_stats(bool);
 DROP TABLE stats_test;
