diff --git a/src/test/isolation/expected/tuplelock-update.out b/src/test/isolation/expected/tuplelock-update.out
index 43754e0715..ea63022e93 100644
--- a/src/test/isolation/expected/tuplelock-update.out
+++ b/src/test/isolation/expected/tuplelock-update.out
@@ -1,24 +1,36 @@
 Parsed test spec with 4 sessions
 
-starting permutation: s1_advlock s2_update s3_update s4_update s1_chain s1_begin s1_grablock s1_advunlock s1_commit
-step s1_advlock: SELECT pg_advisory_lock(142857);
-pg_advisory_lock
+starting permutation: s1_advlock s2_update s3_update s4_update s1_chain s1_begin s1_grablock s1_advunlock1 s1_advunlock2 s1_advunlock3 s1_commit
+step s1_advlock: 
+    SELECT pg_advisory_lock(142857),
+        pg_advisory_lock(285714),
+        pg_advisory_lock(571428);
 
-               
+pg_advisory_lockpg_advisory_lockpg_advisory_lock
+
+                                             
 step s2_update: UPDATE pktab SET data = DEFAULT WHERE pg_advisory_lock_shared(142857) IS NOT NULL; <waiting ...>
-step s3_update: UPDATE pktab SET data = DEFAULT WHERE pg_advisory_lock_shared(142857) IS NOT NULL; <waiting ...>
-step s4_update: UPDATE pktab SET data = DEFAULT WHERE pg_advisory_lock_shared(142857) IS NOT NULL; <waiting ...>
+step s3_update: UPDATE pktab SET data = DEFAULT WHERE pg_advisory_lock_shared(285714) IS NOT NULL; <waiting ...>
+step s4_update: UPDATE pktab SET data = DEFAULT WHERE pg_advisory_lock_shared(571428) IS NOT NULL; <waiting ...>
 step s1_chain: UPDATE pktab SET data = DEFAULT;
 step s1_begin: BEGIN;
 step s1_grablock: SELECT * FROM pktab FOR KEY SHARE;
 id             data           
 
 1              2              
-step s1_advunlock: SELECT pg_advisory_unlock(142857);
+step s1_advunlock1: SELECT pg_advisory_unlock(142857);
 pg_advisory_unlock
 
 t              
 step s2_update: <... completed>
+step s1_advunlock2: SELECT pg_sleep(5), pg_advisory_unlock(285714);
+pg_sleep       pg_advisory_unlock
+
+               t              
 step s3_update: <... completed>
+step s1_advunlock3: SELECT pg_sleep(5), pg_advisory_unlock(571428);
+pg_sleep       pg_advisory_unlock
+
+               t              
 step s4_update: <... completed>
 step s1_commit: COMMIT;
diff --git a/src/test/isolation/specs/tuplelock-update.spec b/src/test/isolation/specs/tuplelock-update.spec
index d93e883ebb..8f5a1f7314 100644
--- a/src/test/isolation/specs/tuplelock-update.spec
+++ b/src/test/isolation/specs/tuplelock-update.spec
@@ -9,20 +9,26 @@ teardown {
 }
 
 session "s1"
-step "s1_advlock" { SELECT pg_advisory_lock(142857); }
+step "s1_advlock" {
+    SELECT pg_advisory_lock(142857),
+        pg_advisory_lock(285714),
+        pg_advisory_lock(571428);
+ }
 step "s1_chain" { UPDATE pktab SET data = DEFAULT; }
 step "s1_begin" { BEGIN; }
 step "s1_grablock" { SELECT * FROM pktab FOR KEY SHARE; }
-step "s1_advunlock" { SELECT pg_advisory_unlock(142857); }
+step "s1_advunlock1" { SELECT pg_advisory_unlock(142857); }
+step "s1_advunlock2" { SELECT pg_sleep(5), pg_advisory_unlock(285714); }
+step "s1_advunlock3" { SELECT pg_sleep(5), pg_advisory_unlock(571428); }
 step "s1_commit" { COMMIT; }
 
 session "s2"
 step "s2_update" { UPDATE pktab SET data = DEFAULT WHERE pg_advisory_lock_shared(142857) IS NOT NULL; }
 
 session "s3"
-step "s3_update" { UPDATE pktab SET data = DEFAULT WHERE pg_advisory_lock_shared(142857) IS NOT NULL; }
+step "s3_update" { UPDATE pktab SET data = DEFAULT WHERE pg_advisory_lock_shared(285714) IS NOT NULL; }
 
 session "s4"
-step "s4_update" { UPDATE pktab SET data = DEFAULT WHERE pg_advisory_lock_shared(142857) IS NOT NULL; }
+step "s4_update" { UPDATE pktab SET data = DEFAULT WHERE pg_advisory_lock_shared(571428) IS NOT NULL; }
 
-permutation "s1_advlock" "s2_update" "s3_update" "s4_update" "s1_chain" "s1_begin" "s1_grablock" "s1_advunlock" "s1_commit"
+permutation "s1_advlock" "s2_update" "s3_update" "s4_update" "s1_chain" "s1_begin" "s1_grablock" "s1_advunlock1" "s1_advunlock2" "s1_advunlock3" "s1_commit"