diff --git a/binarycpython/utils/HPC.py b/binarycpython/utils/HPC.py
index a4916d0c00750cb100b1fcea87ef739a55e2bb4f..a2a91176a3a6a1bd96e2281a2a15605b163ffd46 100644
--- a/binarycpython/utils/HPC.py
+++ b/binarycpython/utils/HPC.py
@@ -94,16 +94,18 @@ class HPC(condor,slurm):
         # check for joiningfile again
         if self.grid_options['HPC_force_join'] == 1:
             print("Forcing join because HPC_force_join is set")
+            x = True
         elif os.path.exists(joiningfile):
             if vb:
                 print("cannot join: joiningfile exists at {}".format(joiningfile))
-            return False
+            x = False
         elif vb:
             print("joiningfile does not exist : can join")
+            x = True
 
         if vb:
-            print("returning True from HPC_can_join()")
-        return True
+            print("returning {} from HPC_can_join()".format(x))
+        return x
 
     def HPCjob(self):
         """
@@ -340,7 +342,10 @@ class HPC(condor,slurm):
                 print("We can join")
                 try:
                     # touch joiningfile
-                    pathlib.Path(joiningfile).touch(exist_ok=False)
+                    if grid_options['HPC_force_join'] == 1:
+                        pathlib.Path(joiningfile).touch(exist_ok=True)
+                    else:
+                        pathlib.Path(joiningfile).touch(exist_ok=False)
                     try:
                         self.HPC_join_from_files(self,joinfiles)
                     except Exception as e: