--- engine/reading.c.orig	2006-04-11 17:13:24.000000000 +0200
+++ engine/reading.c	2006-04-11 17:39:07.000000000 +0200
@@ -1272,7 +1272,7 @@
 {
   int color = board[str];
   int j, k, l;
-  int goal_liberties = (stackp < fourlib_depth ? 5 : 4);
+  int goal_liberties = (stackp <= fourlib_depth ? 5 : 4);
   int adj, adjs[MAXCHAIN];
 
   /* We would like to initialize liberty_mark to -1, but some
@@ -1399,8 +1399,8 @@
  * If the reading ply (stackp) is deeper than the deep-reading cutoff
  * parameter depth, whose default value DEPTH is defined in gnugo.h, then a
  * string is assumed alive if it can get 3 liberties. When
- * fourlib_depth < stackp < depth, a string is considered alive if it can get
- * four liberties. When stackp < fourlib_depth, it is considered alive
+ * fourlib_depth < stackp <= depth, a string is considered alive if it can get
+ * four liberties. When stackp <= fourlib_depth, it is considered alive
  * if it can get 5 liberties.
  * */
 
