diff --git a/Custom_Hooks/eb_hooks.py b/Custom_Hooks/eb_hooks.py
index d1ff1912bfcf57843670d17eb22a9cf234e2bbbe..68ba8478e5d3b9b6072999081687ffb461d792d3 100644
--- a/Custom_Hooks/eb_hooks.py
+++ b/Custom_Hooks/eb_hooks.py
@@ -265,7 +265,7 @@ def inject_site_contact_and_user_labels(ec):
     # not sure of a fool-proof way to do this, let's just try a heuristic
     site_contacts = None
     # Non-user installation
-    if '/p/software' in install_path().lower():
+    if install_path().lower().startswith('/p/software'):
         if 'swmanage' in os.getenv('USER'):
             site_contacts = common_site_contact
         else:
@@ -342,7 +342,7 @@ def inject_modaltsoftname(ec):
 def inject_ucx_features(ec):
     # UCX require to load UCX-settings
     ec_dict = ec.asdict()
-    if ec.name in 'UCX' and '/p/software' in install_path().lower():
+    if ec.name in 'UCX' and install_path().lower().startswith('/p/software'):
         key = "modluafooter"
         value = '''
 if not ( isloaded("UCX-settings") ) then
@@ -362,7 +362,7 @@ end
 def inject_mpi_features(ec):
     ec_dict = ec.asdict()
     # MPIs are a family (in the Lmod sense) and require to load mpi-settings
-    if ec.name in SUPPORTED_MPIS and '/p/software' in install_path().lower():
+    if ec.name in SUPPORTED_MPIS and install_path().lower().startswith('/p/software'):
         key = "modluafooter"
         value = '''
 if not ( isloaded("mpi-settings") ) then
@@ -418,7 +418,7 @@ def pre_ready_hook(self, *args, **kwargs):
     override_toolchain_check = os.getenv("JSC_OVERRIDE_TOOLCHAIN_CHECK")
     if not override_toolchain_check:
         toolchain_name = toolchain["name"]
-        if not toolchain_name in SUPPORTED_TOOLCHAIN_FAMILIES and os.getenv('USER') not in 'swmanage':
+        if not toolchain_name in SUPPORTED_TOOLCHAIN_FAMILIES and not install_path().lower().startswith('/p/software'):
             stage = os.getenv("STAGE", default=None)
             if stage:
                 # Clean things up if it is a Devel stage
@@ -446,7 +446,7 @@ def pre_ready_hook(self, *args, **kwargs):
     # experts should know that. This applies just to user installations
     override_gcccore_check = os.getenv("JSC_OVERRIDE_GCCCORE_CHECK")
     if not override_gcccore_check:
-        if is_gcccore and not "stages" in install_path().lower():
+        if is_gcccore and not install_path().lower().startswith('/p/software'):
             print_warning(
                 "\nYou are attempting to install GCCcore (%s) into a non-system "
                 "location (%s), this won't work as expected without additional effort "