Index: engine/owl.c
===================================================================
--- engine/owl.c	(revision 2410)
+++ engine/owl.c	(working copy)
@@ -1027,7 +1027,10 @@
       
       if (board[pos] == EMPTY && !mw[pos]) {
 	if (liberty_of_goal(pos, owlb)) {
-	  if (!liberty_of_goal(pos, owla)) {
+	  int origin = owlb->my_eye[pos].origin;
+	  if (!liberty_of_goal(pos, owla)
+	      && !(owlb->my_eye[origin].color == owlb->color
+		   && max_eyes(&owlb->my_eye[origin].value) > 0)) {
 	    /* outside liberty */
 	    if (safe_move(pos, color) == WIN) {
 	      safe_outside_liberty_found = 1;
