Index: engine/owl.c
===================================================================
--- engine/owl.c	(revision 2410)
+++ engine/owl.c	(working copy)
@@ -5928,7 +5928,8 @@
 	already_checked[lunch] = 1;
 
 	attack_and_defend(lunch, &acode, &apos, &dcode, &dpos);
-	if (acode != 0) {
+	if (acode != 0
+	    && (!liberty_of_goal(apos, owl) || safe_move(apos, color))) {
 	  owl->lunch[lunches] = lunch;
 	  owl->lunch_attack_code[lunches]  = acode;
 	  owl->lunch_attack_point[lunches] = apos;
