diff --git a/patterns/owl_attackpats.db b/patterns/owl_attackpats.db
index d0fb1d5..54722f8 100644
--- a/patterns/owl_attackpats.db
+++ b/patterns/owl_attackpats.db
@@ -3514,16 +3514,17 @@ Ba
 Pattern A1001b
 # Sometimes cut of small useless tail 
 # i.e.:  gq -l games/niki.sgf -L 158 --decide-dragon S8 -o x.sgf
+# gf Revised constraint. (3.9.1)
 
 YO          cut if safe
 *X
 
 :8,Cn,value(50)
 
-Ya
-*X
+Ba
+*C
 
-; !oplay_attack_either(*,*,a)
+;!same_string(B,C) && !oplay_attack_either(*,*,a)
 
 
 Pattern A1002
diff --git a/patterns/owl_defendpats.db b/patterns/owl_defendpats.db
index 3a3e7c8..c77b176 100644
--- a/patterns/owl_defendpats.db
+++ b/patterns/owl_defendpats.db
@@ -4096,16 +4096,17 @@ A*
 
 
 Pattern D1001
+# gf Revised constraint. (3.9.1)
 
 X*O       connect
 ?OX
 
 :8,n,value(70)
 
-X*O
-?Oa
+X*c
+?ba
 
-;!attack(a) || (wormsize(a)<=2 && does_attack(*,a))
+;!same_string(b,c) && (!attack(a) || (wormsize(a)<=2 && does_attack(*,a)))
 
 
 Pattern D1001b
@@ -4121,16 +4122,17 @@ x.O..
 Pattern D1002
 # Smaller value if opponent can't cut.
 # gf Revised constraint. (3.1.11)
+# gf Revised constraint. (3.9.1)
 
 X*O       connect
 ?OX
 
 :8,-,value(35)
 
-X*O
-?Oa
+X*c
+?ba
 
-; !attack(a) && xlib(*) > 1
+;!same_string(b,c) && !attack(a) && xlib(*) > 1
 
 
 Pattern D1003

