diff -up src/sage/groups/perm_gps/permgroup.py.orig src/sage/groups/perm_gps/permgroup.py --- src/sage/groups/perm_gps/permgroup.py.orig 2017-11-08 08:23:18.884207190 -0500 +++ src/sage/groups/perm_gps/permgroup.py 2017-11-08 08:23:27.988207539 -0500 @@ -166,6 +166,10 @@ def load_hap(): gap.load_package("hap") except Exception: gap.load_package("hap") + try: + gap.load_package("hap") + except Exception: + raise RuntimeError("gap-hap package failed to load.") def hap_decorator(f): """ @@ -191,8 +195,6 @@ def hap_decorator(f): """ @wraps(f) def wrapped(self, n, p=0): - if not is_package_installed('gap_packages'): - raise RuntimeError("You must install the optional gap_packages package.") load_hap() from sage.arith.all import is_prime if not (p == 0 or is_prime(p)):