diff --git a/.gitignore b/.gitignore
index 8cb3dc0ac..f1165195d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,4 @@ build/
 dist/clang-format
 /docs/
 test-compatibility-run/
+**.pyc
diff --git a/src/btree/row_srch.c b/src/btree/row_srch.c
index 6e72ab164..c7b70e667 100644
--- a/src/btree/row_srch.c
+++ b/src/btree/row_srch.c
@@ -368,7 +368,7 @@ __wt_row_search(WT_CURSOR_BTREE *cbt, WT_ITEM *srch_key, bool insert, WT_REF *le
     WT_SESSION_IMPL *session;
     size_t match, skiphigh, skiplow;
     uint32_t base, indx, limit, read_flags;
-    int cmp, depth;
+    int cmp, cmp2, depth;
     bool append_check, descend_right, done;
 
     session = CUR2S(cbt);
@@ -668,9 +668,11 @@ leaf_only:
                 skiplow = match;
                 base = indx + 1;
                 --limit;
-            } else if (cmp < 0)
+            } else if (cmp < 0) {
+                cmp2 = __wt_lex_compare(srch_key, item);
+                WT_ASSERT(session, cmp2 < 0);
                 skiphigh = match;
-            else
+            } else
                 goto leaf_match;
         }
     } else
diff --git a/test/evergreen.yml b/test/evergreen.yml
index cad211fcd..6b67e2635 100755
--- a/test/evergreen.yml
+++ b/test/evergreen.yml
@@ -1092,6 +1092,20 @@ variables:
         vars:
           format_test_script_args: -e "SEGFAULT_SIGNALS=all" -b "catchsegv ./t" -t 360
 
+
+  - &repro-stress-test
+    name: wt-10961-repro
+    tags: ["repro"]
+    exec_timeout_secs: 25200
+    commands:
+      - func: "get project"
+      - func: "compile wiredtiger"
+        vars:
+          <<: *configure_flags_with_builtins
+      - func: "format test script"
+        vars:
+          format_test_script_args: -e "SEGFAULT_SIGNALS=all" -b "catchsegv ./t" -t 360 -c ../../../wt-10961.config
+
   - &format-stress-test-nonstandalone
     exec_timeout_secs: 25200
     commands:
@@ -3989,6 +4003,28 @@ tasks:
           # See https://bugzilla.redhat.com/show_bug.cgi?id=1686261#c10 for the potential cause.
           format_test_script_args: -e "SEGFAULT_SIGNALS=all" -b "catchsegv ./t" -t 120 -- -C "mmap=false,mmap_all=false"
 
+
+  - <<: *repro-stress-test
+    name: repro1
+  - <<: *repro-stress-test
+    name: repro2
+  - <<: *repro-stress-test
+    name: repro3
+  - <<: *repro-stress-test
+    name: repro4
+  - <<: *repro-stress-test
+    name: repro5
+  - <<: *repro-stress-test
+    name: repro6
+  - <<: *repro-stress-test
+    name: repro7
+  - <<: *repro-stress-test
+    name: repro8
+  - <<: *repro-stress-test
+    name: repro9
+  - <<: *repro-stress-test
+    name: repro10
+
   - <<: *format-stress-test
     name: format-stress-test-1
     tags: ["stress-test-1"]
@@ -5442,7 +5478,7 @@ buildvariants:
   run_on:
   - ubuntu2004-test
   expansions:
-    smp_command: -j $(grep -c ^processor /proc/cpuinfo)
+    smp_command: -j 40
     make_command: ninja
     test_env_vars:
       PATH=/opt/mongodbtoolchain/v4/bin:$PATH
@@ -5453,6 +5489,7 @@ buildvariants:
     CMAKE_PREFIX_PATH: -DCMAKE_PREFIX_PATH="$(pwd)/TCMALLOC_LIB"
     python_binary: '/opt/mongodbtoolchain/v4/bin/python3'
   tasks:
+    - name: ".repro"
     - name: ".stress-test-1"
     - name: ".stress-test-2"
     - name: ".stress-test-3"
@@ -5484,7 +5521,7 @@ buildvariants:
   run_on:
   - ubuntu2004-arm64-large
   expansions:
-    smp_command: -j $(grep -c ^processor /proc/cpuinfo)
+    smp_command: -j 40
     make_command: ninja
     test_env_vars:
       PATH=/opt/mongodbtoolchain/v4/bin:$PATH
@@ -5495,6 +5532,7 @@ buildvariants:
     CMAKE_PREFIX_PATH: -DCMAKE_PREFIX_PATH="$(pwd)/TCMALLOC_LIB"
     python_binary: '/opt/mongodbtoolchain/v4/bin/python3'
   tasks:
+    - name: ".repro"
     - name: ".stress-test-1"
     - name: ".stress-test-2"
     - name: ".stress-test-3"
diff --git a/wt-10961.config b/wt-10961.config
new file mode 100644
index 000000000..8c865762a
--- /dev/null
+++ b/wt-10961.config
@@ -0,0 +1,175 @@
+############################################
+#  RUN PARAMETERS: V3
+############################################
+assert.read_timestamp=0
+backup=0
+backup.incremental=off
+backup.incr_granularity=1487
+block_cache=0
+block_cache.cache_on_checkpoint=0
+block_cache.cache_on_writes=1
+block_cache.size=75
+btree.huffman_value=0
+buffer_alignment=0
+cache=1320
+cache.evict_max=5
+cache.minimum=20
+checkpoint=on
+checkpoint.log_size=155
+checkpoint.wait=39
+debug.checkpoint_retention=2
+debug.cursor_reposition=0
+debug.eviction=0
+debug.log_retention=8
+debug.realloc_exact=0
+debug.realloc_malloc=0
+debug.slow_checkpoint=0
+debug.table_logging=0
+debug.update_restore_evict=0
+disk.data_extend=0
+disk.direct_io=0
+disk.encryption=rotn-7
+disk.mmap=1
+disk.mmap_all=0
+file_manager.close_handle_minimum=18
+file_manager.close_idle_time=1
+file_manager.close_scan_interval=2
+format.abort=0
+format.independent_thread_rng=1
+format.major_timeout=0
+import=0
+logging=1
+logging.compression=none
+logging.file_max=226874
+logging.prealloc=1
+logging.remove=1
+ops.alter=0
+ops.compaction=0
+ops.hs_cursor=1
+ops.bound_cursor=0
+ops.prepare=0
+ops.random_cursor=0
+ops.salvage=1
+ops.verify=1
+quiet=1
+random.data_seed=680556
+random.extra_seed=4131426
+runs.in_memory=0
+runs.ops=0
+runs.predictable_replay=0
+runs.rows=1000000
+runs.tables=3
+runs.threads=32
+runs.timer=6
+runs.verify_failure_dump=0
+statistics.mode=fast
+statistics_log.sources=off
+stress.aggressive_sweep=0
+stress.checkpoint=0
+stress.checkpoint_evict_page=0
+stress.checkpoint_prepare=0
+stress.evict_reposition=0
+stress.failpoint_eviction_fail_after_reconciliation=0
+stress.failpoint_hs_delete_key_from_ts=0
+stress.hs_checkpoint_delay=0
+stress.hs_search=0
+stress.hs_sweep=0
+stress.sleep_before_read_overflow_onpage=0
+stress.split_1=0
+stress.split_2=0
+stress.split_3=0
+stress.split_4=1
+stress.split_5=0
+stress.split_6=0
+stress.split_7=0
+stress.split_8=0
+tiered_storage.flush_frequency=0
+tiered_storage.storage_source=off
+transaction.implicit=40
+transaction.timestamps=0
+wiredtiger.config=off
+wiredtiger.rwlock=1
+wiredtiger.leak_memory=0
+############################################
+#  TABLE PARAMETERS: table 1
+############################################
+table1.btree.compression=snappy
+table1.btree.dictionary=0
+table1.btree.internal_key_truncation=1
+table1.btree.internal_page_max=16
+table1.btree.leaf_page_max=13
+table1.btree.memory_page_max=9
+table1.btree.repeat_data_pct=39
+table1.btree.split_pct=52
+table1.btree.value_max=464
+table1.btree.value_min=3
+table1.disk.checksum=off
+table1.disk.firstfit=0
+table1.ops.pareto=0
+table1.ops.pareto.skew=30
+table1.ops.pct.delete=15
+table1.ops.pct.insert=2
+table1.ops.pct.modify=80
+table1.ops.pct.read=2
+table1.ops.pct.write=1
+table1.ops.truncate=1
+table1.runs.mirror=0
+table1.runs.source=table
+table1.runs.type=variable-length column-store
+############################################
+#  TABLE PARAMETERS: table 2
+############################################
+table2.btree.compression=lz4
+table2.btree.dictionary=0
+table2.btree.internal_key_truncation=1
+table2.btree.internal_page_max=12
+table2.btree.leaf_page_max=13
+table2.btree.memory_page_max=10
+table2.btree.repeat_data_pct=67
+table2.btree.split_pct=96
+table2.btree.value_max=169
+table2.btree.value_min=8
+table2.disk.checksum=on
+table2.disk.firstfit=1
+table2.ops.pareto=0
+table2.ops.pareto.skew=61
+table2.ops.pct.delete=10
+table2.ops.pct.insert=61
+table2.ops.pct.modify=3
+table2.ops.pct.read=10
+table2.ops.pct.write=16
+table2.ops.truncate=1
+table2.runs.mirror=0
+table2.runs.source=table
+table2.runs.type=variable-length column-store
+############################################
+#  TABLE PARAMETERS: table 3
+############################################
+table3.btree.compression=zstd
+table3.btree.dictionary=0
+table3.btree.internal_key_truncation=1
+table3.btree.internal_page_max=10
+table3.btree.key_max=75
+table3.btree.key_min=20
+table3.btree.leaf_page_max=11
+table3.btree.memory_page_max=1
+table3.btree.prefix_len=0
+table3.btree.prefix_compression=0
+table3.btree.prefix_compression_min=7
+table3.btree.reverse=0
+table3.btree.split_pct=66
+table3.btree.value_max=1418
+table3.btree.value_min=19
+table3.disk.checksum=on
+table3.disk.firstfit=0
+table3.ops.pareto=1
+table3.ops.pareto.skew=61
+table3.ops.pct.delete=96
+table3.ops.pct.insert=0
+table3.ops.pct.modify=1
+table3.ops.pct.read=1
+table3.ops.pct.write=2
+table3.ops.truncate=1
+table3.runs.mirror=0
+table3.runs.source=table
+table3.runs.type=row-store
