diff --git a/regression/9x9.tst b/regression/9x9.tst
index 5d956a8..c1a15e7 100644
--- a/regression/9x9.tst
+++ b/regression/9x9.tst
@@ -351,3 +351,14 @@ loadsgf games/cgos/390115.sgf 28
 loadsgf games/atari-crash.sgf
 680 reg_genmove white
 #? [H7]
+
+# The only thing that matters is to kill the lower right corner.
+loadsgf games/9x9-5.sgf
+690 reg_genmove black
+#? [H1|J4]
+
+# Making life with B9 suffices to win. Connecting with A5 is an
+# overplay, leading to a difficult ko.
+loadsgf games/9x9-6.sgf 36
+700 reg_genmove white
+#? [B9]
diff --git a/regression/games/9x9-5.sgf b/regression/games/9x9-5.sgf
new file mode 100644
index 0000000..72fe9be
--- /dev/null
+++ b/regression/games/9x9-5.sgf
@@ -0,0 +1,7 @@
+(;GM[1]FF[4]SZ[9]KM[7.5]
+;B[ee];W[dc];B[ec];W[eb];B[fc];W[fg];B[df];W[cd];B[dd];W[cc]
+;B[eg];W[hg];B[fb];W[cf];B[gf];W[gh];B[eh];W[hf];B[he];W[ge]
+;B[gd];W[ie];B[hd];W[ff];B[fe];W[ch];B[ce];W[be];B[cg];W[bf]
+;B[bg];W[fh];B[ih];W[ei];B[di];W[fi];B[de];W[bc];B[db];W[dh]
+;B[dg];W[cb]
+)
diff --git a/regression/games/9x9-6.sgf b/regression/games/9x9-6.sgf
new file mode 100644
index 0000000..815e0c2
--- /dev/null
+++ b/regression/games/9x9-6.sgf
@@ -0,0 +1,7 @@
+(;GM[1]FF[4]SZ[9]KM[7.5]
+;B[ee];W[dc];B[ec];W[eb];B[fc];W[fg];B[df];W[cd];B[dd];W[cc]
+;B[eh];W[hg];B[fb];W[bf];B[gh];W[fh];B[gg];W[gf];B[hh];W[eg]
+;B[dg];W[hf];B[dh];W[fi];B[bb];W[cb];B[ff];W[ih];B[ea];W[db]
+;B[ca];W[da];B[ce];W[bd];B[be];W[ae];B[ba];W[bh];B[bg];W[cg]
+;B[cf];W[ag];B[ch]
+)
diff --git a/regression/games/cgos/403788.sgf b/regression/games/cgos/403788.sgf
new file mode 100644
index 0000000..2e27f24
--- /dev/null
+++ b/regression/games/cgos/403788.sgf
@@ -0,0 +1,14 @@
+(;GM[1]FF[4]CA[UTF-8]
+RU[Chinese]SZ[9]KM[7.5]TM[300]
+PW[MonteGNU]PB[mgtest9]WR[2042]BR[2100]DT[2008-04-21]PC[(CGOS) 9x9 Computer Go Server]RE[W+24.5]GN[403788]
+;B[ee]BL[300];W[cc]WL[300];B[fc]BL[299];W[fg]WL[299];B[dg]BL[299];W[ge]WL[299];B[ce]BL[299];W[gc]WL[299]
+;B[fd]BL[299];W[gd]WL[290];B[gf]BL[290];W[ff]WL[281];B[eh]BL[281];W[fe]WL[272];B[eb]BL[272];W[df]WL[264]
+;B[cf]BL[263];W[ef]WL[256];B[de]BL[253];W[fh]WL[248];B[ch]BL[245];W[gb]WL[240];B[fb]BL[238];W[bd]WL[233]
+;B[be]BL[231];W[ei]WL[226];B[di]BL[224];W[fi]WL[219];B[eg]BL[217];W[db]WL[213];B[bb]BL[211];W[ab]WL[206]
+;B[cb]BL[204];W[dc]WL[199];B[bc]BL[197];W[ad]WL[193];B[ba]BL[191];W[da]WL[187];B[ed]BL[184];W[cd]WL[181]
+;B[bg]BL[179];W[ac]WL[176];B[fa]BL[173];W[ci]WL[171];B[bi]BL[168];W[gg]WL[166];B[hf]BL[163];W[hg]WL[161]
+;B[ig]BL[159];W[hh]WL[156];B[ga]BL[154];W[hc]WL[152];B[ae]BL[151];W[ha]WL[149];B[bh]BL[151];W[id]WL[149]
+;B[af]BL[151];W[ii]WL[149];B[ea]BL[151];W[ih]WL[149];B[ec]BL[151];W[ib]WL[149];B[dd]BL[151];W[he]WL[149]
+;B[aa]BL[151];W[ca]WL[149];B[]BL[151];W[ba]WL[149];B[]BL[151];W[if]WL[149];B[]BL[151];W[]WL[149]
+)
+
diff --git a/regression/games/cgos/471085.sgf b/regression/games/cgos/471085.sgf
new file mode 100644
index 0000000..7308d5e
--- /dev/null
+++ b/regression/games/cgos/471085.sgf
@@ -0,0 +1,78 @@
+(;GM[1]FF[4]CA[UTF-8]
+RU[TT--]SZ[9]KM[7.5]TM[600]
+PW[MonteGNU]PB[AyaBot]WR[1881*]BR[1805*]DT[2007-02-10]PC[9x9 Computer Go Server]RE[W+0.5]GN[471085]
+;B[ff]
+;W[gd]
+;B[cc]
+;W[gf]
+;B[ge]
+;W[fe]
+;B[he]
+;W[ef]
+;B[fg]
+;W[ed]
+;B[de]
+;W[ee]
+;B[gg]
+;W[dd]
+;B[cd]
+;W[df]
+;B[db]
+;W[eh]
+;B[fc]
+;W[hd]
+;B[hf]
+;W[fd]
+;B[eg]
+;W[dg]
+;B[be]
+;W[bf]
+;B[cf]
+;W[ce]
+;B[cg]
+;W[bg]
+;B[ch]
+;W[dh]
+;B[bh]
+;W[bd]
+;B[de]
+;W[hh]
+;B[ce]
+;W[gh]
+;B[hb]
+;W[hg]
+;B[ec]
+;W[hc]
+;B[ib]
+;W[ic]
+;B[gc]
+;W[di]
+;B[dc]
+;W[bi]
+;B[ci]
+;W[if]
+;B[ai]
+;W[ig]
+;B[ga]
+;W[fi]
+;B[bc]
+;W[fh]
+;B[ca]
+;W[gf]
+;B[ad]
+;W[ff]
+;B[ea]
+;W[ie]
+;B[ab]
+;W[]
+;B[ba]
+;W[]
+;B[fb]
+;W[]
+;B[af]
+;W[]
+;B[ag]
+;W[]
+;B[]
+)
+
diff --git a/regression/games/kgs/Hosbodar-GNU.sgf b/regression/games/kgs/Hosbodar-GNU.sgf
new file mode 100644
index 0000000..d9685a5
--- /dev/null
+++ b/regression/games/kgs/Hosbodar-GNU.sgf
@@ -0,0 +1,30 @@
+(;GM[1]FF[4]
+SZ[19]KM[6.50]
+PW[Hosbodar]WR[6k]
+PB[GNU]BR[6k]
+PC[The KGS Go Server at http://www.gokgs.com/]DT[2007-01-13]
+AP[CGoban:3]
+RE[W+Resign]
+TM[300]OT[25/300 Canadian]
+RU[Japanese]
+C[GNU [6k\]: GTP Engine for GNU (black): GNU Go version 3.7.10
+]
+CA[UTF-8]ST[2]
+;B[pd];W[pp];B[dd];W[dp];B[jd];W[jp];B[pj];W[dj];B[qn];W[jj];B[nq]
+;W[oq];B[or];W[pr];B[op];W[pq];B[oo];W[po];B[nr];W[pn];B[qm];W[pm]
+;B[ql];W[mo];B[nn];W[np];B[lp];W[mp];B[lq];W[mq];B[mr];W[lo];B[jr]
+;W[ml];B[hq];W[fq];B[ho];W[fn];B[ko];W[ln];B[jo];W[cm];B[ch];W[cf]
+;B[df];W[ce];B[de];W[cd];B[dc];W[cc];B[pg];W[nc];B[lc];W[pb];B[qc]
+;W[qb];B[eh];W[gf];B[hg];W[hf];B[ig];W[if];B[dh];W[jf];B[jg];W[kf]
+;B[le];W[lg];B[gc];W[lh];B[gg];W[ff];B[rb];W[pc];B[rc];W[od];B[pe]
+;W[oe];B[mf];W[of];B[ng];W[og];B[oh];W[pf];B[qf];W[qg];B[ph];W[qe]
+;B[rf];W[qd];B[sf];W[rg];B[qh];W[re];B[sg];W[se];B[rh];W[gk];B[mi]
+;W[ki];B[rp];W[rq];B[qp];W[qq];B[bj];W[ck];B[cq];W[cp];B[bk];W[bl]
+;B[gr];W[fr];B[cb];W[bb];B[db];W[ba];B[nl];W[on];B[mm];W[lm];B[no]
+;W[pl];B[ll];W[kl];B[mk];W[jm];B[sr];W[pk];B[sq];W[qk];B[rk];W[rj]
+;B[rl];W[qj];B[rr];W[qr];B[oj];W[rs];B[sp];W[sn];B[qo];W[sm];B[kk]
+;W[jk];B[bg];W[bf];B[fs];W[es];B[gs];W[dr];B[ej];W[ek];B[fj];W[fk]
+;B[hm];W[il];B[ii];W[rn];B[gq];W[gp];B[io];W[go];B[ag];W[af];B[mb]
+;W[nb];B[kn];W[km];B[di];W[cj];B[bi];W[fd];B[gd];W[ge];B[hd];W[mc]
+;B[lb];W[kj];B[lk];W[gj];B[gi];W[ij];B[hi];W[gm];B[im];W[hl];B[fc]
+;W[fg];B[fh];W[eg];B[ed];W[fe];B[mn];W[sk];B[sl];W[sj])
diff --git a/regression/ld_owl.tst b/regression/ld_owl.tst
index 9e043c2..1109d5c 100644
--- a/regression/ld_owl.tst
+++ b/regression/ld_owl.tst
@@ -106,7 +106,7 @@ loadsgf games/life_and_death/ld11.sgf
 42 dragon_status R16
 #? [dead]
 43 dragon_status R3
-#? [critical (R1|S2|T7) S2]
+#? [critical (R1|S1|S2|T7) S2]
 # B2 lives but allows the opponent to make seki (or ko).
 44 dragon_status C4
 #? [critical D1 (A2|D1|B2)]
diff --git a/regression/nicklas2.tst b/regression/nicklas2.tst
index 57815b2..17a0055 100644
--- a/regression/nicklas2.tst
+++ b/regression/nicklas2.tst
@@ -53,7 +53,7 @@ loadsgf games/nicklas/nicklas7.sgf 29
 #
 loadsgf games/nicklas/nicklas9.sgf 28
 902 dragon_status E9
-#? [critical]*
+#? [critical (.*) (.*)]*
 
 903 dragon_status G7
 #? [critical (H8|F9) H8]
diff --git a/regression/nngs3.tst b/regression/nngs3.tst
index f405aa9..0425202 100644
--- a/regression/nngs3.tst
+++ b/regression/nngs3.tst
@@ -83,7 +83,7 @@ loadsgf games/nngs/Lazarus-gnugo-3.1.31-200204122203.sgf 110
 
 loadsgf games/nngs/Lazarus-gnugo-3.1.31-200204122203.sgf 114
 260 reg_genmove black
-#? [G11]*
+#? [G12|G11]*
 
 
 loadsgf games/nngs/Lazarus-gnugo-3.1.31-200204122203.sgf 154
diff --git a/regression/owl.tst b/regression/owl.tst
index d7aaf9e..8ba67a6 100644
--- a/regression/owl.tst
+++ b/regression/owl.tst
@@ -3,7 +3,7 @@ loadsgf games/incident66.sgf 52
 1 owl_attack D8
 #? [1 (F8|E8|E9)]
 2 owl_defend D8
-#? [1 E9]
+#? [1 (E9|E8|F8)]
 
 # incident 85
 loadsgf games/incident85.sgf 104
diff --git a/regression/owl1.tst b/regression/owl1.tst
index 70e4a9d..b6fb044 100644
--- a/regression/owl1.tst
+++ b/regression/owl1.tst
@@ -539,3 +539,8 @@ loadsgf games/cgos/25811.sgf 52
 #? [3 (A7|B9)]*
 396 owl_defend E9
 #? [2 PASS]*
+
+# Incomprehensible mistake.
+loadsgf games/cgos/403788.sgf 65
+397 owl_does_attack A9 A8
+#? [0]
diff --git a/regression/reading.tst b/regression/reading.tst
index 28147d7..a29a809 100644
--- a/regression/reading.tst
+++ b/regression/reading.tst
@@ -998,3 +998,8 @@ loadsgf games/gifu2005/mfg-gnugo.sgf 195
 loadsgf games/reading48.sgf
 234 attack C1
 #? [1 A1]
+
+# Not ko.
+loadsgf games/cgos/471085.sgf 49
+235 attack B1
+#? [1 C1]
diff --git a/regression/semeai.tst b/regression/semeai.tst
index 1e73128..22134c3 100644
--- a/regression/semeai.tst
+++ b/regression/semeai.tst
@@ -577,3 +577,26 @@ play white A15
 play black D13
 147 analyze_semeai A12 A14
 #? [1 1 (B15|C15|D15|E15)]
+
+# Multiple semeai misunderstandings. First let the outer white stones
+# be safe.
+loadsgf games/kgs/Hosbodar-GNU.sgf 193
+play white N6
+play white O7
+148 analyze_semeai T7 S9
+#? [1 1 T9]
+
+# A big eye is worth lots of liberties. Let's eliminate the tiny ko
+# potential for simplicity.
+loadsgf games/kgs/Hosbodar-GNU.sgf 197
+play black N8
+149 analyze_semeai S9 R10
+#? [1 1 (PASS|T11|S11|R11|P9|P8|P7|P1|Q1|R1)]
+150 analyze_semeai R10 S9
+#? [0 0 PASS]
+151 dragon_status R10
+#? [dead]
+152 dragon_status S9
+#? [alive]
+153 dragon_status T7
+#? [dead]
diff --git a/regression/thrash.tst b/regression/thrash.tst
index 1e8613f..8358da0 100644
--- a/regression/thrash.tst
+++ b/regression/thrash.tst
@@ -110,7 +110,7 @@ loadsgf games/cgos/30527.sgf 73
 22 restricted_genmove black G9 J9
 #? [G9]
 
-# The ko at J6 is an irrelevant distration. Start with filling the
+# The ko at J6 is an irrelevant distraction. Start with filling the
 # safe outer liberties.
 loadsgf games/cgos/994.sgf 76
 23 reg_genmove white
@@ -129,16 +129,17 @@ loadsgf games/cgos/31446.sgf 88
 26 reg_genmove white
 #? [E1|A1]*
 
-# Fill a ko before taking another one.
+# Fill a ko before taking another one. Playing G3 or H2 first to make
+# the entire board unconditionally settled is also fine.
 loadsgf games/cgos/37169.sgf 86
 27 reg_genmove white
-#? [J6]*
+#? [J6|G3|H2]*
 loadsgf games/cgos/37169.sgf 88
 28 reg_genmove white
-#? [A2]*
+#? [A2|G3|H2]*
 loadsgf games/cgos/37169.sgf 90
 29 reg_genmove white
-#? [D3]*
+#? [D3|G3|H2]*
 
 loadsgf games/cgos/26449.sgf 47
 30 reg_genmove black
