diff --git a/lib/stbcbckt.gi b/lib/stbcbckt.gi index bc74f80f58..cf06f8980a 100644 --- a/lib/stbcbckt.gi +++ b/lib/stbcbckt.gi @@ -2671,6 +2671,9 @@ Eh, Lh, Nh,G0; L := arg[ 3 ]; issub:=fail; elif IsSubset( G, E ) then + if Size(G)=Size(E) then + return G; + fi; L := E; issub:=true; else @@ -2678,6 +2681,12 @@ Eh, Lh, Nh,G0; issub:=false;; fi; + if issub and HasFittingFreeLiftSetup(G) and NrMovedPoints(G)>1000 + # radical is at lest 3rd root of |G| -- avoid smallish radical + and Size(FittingFreeLiftSetup(G).radical)^3>Size(G) then + return NormalizerViaRadical(G,E); + fi; + mpG:=MovedPoints(GeneratorsOfGroup(G)); mpE:=MovedPoints(GeneratorsOfGroup(E)); if IsSubset(mpG,mpE) and not IsTransitive(G,mpG) then