diff --git a/POWER/power.py b/POWER/power.py
index 87823979fa1d0b3d2b04939a3f38c80eb823a505..ff322e7be8af5366bbc4df50ad9ff48da18011e4 100755
--- a/POWER/power.py
+++ b/POWER/power.py
@@ -393,11 +393,34 @@ if __name__ == "__main__":
             simdirs = main_dir+"/output-????/%s/" % (sim)
             f0 = getCutoffFrequency(sim)
 
-            #Check if necessary files exist
-            par_file = main_dir+"/output-0000/%s.par" % (sim)
-            two_punctures_file = main_dir+"/output-0000/%s/TwoPunctures.bbh" % (sim)
-            if(not os.path.isfile(par_file) or not os.path.isfile(two_punctures_file)):
-                    continue
+            #Get simulation total mass
+            ADMMass = None
+            two_punctures_files = sorted(glob.glob(main_dir+"/output-????/%s/TwoPunctures.bbh" % (sim)))
+            out_files = sorted(glob.glob(main_dir+"/output-????/%s.out" % (sim)))
+            par_files = sorted(glob.glob(main_dir+"/output-????/%s.par" % (sim)))
+	    if(two_punctures_files):
+  	      two_punctures_file = two_punctures_files[0]
+              with open(two_punctures_file) as file:
+                    contents = file.readlines()
+                    for line in contents:
+                            line_elems = line.split(" ")
+                            if(line_elems[0] == "initial-ADM-energy"):
+                                    ADMMass = float(line_elems[-1])
+	    elif(out_files):
+              out_file = out_files[0]
+              with open(out_file) as file:
+                    contents = file.readlines()
+                    for line in contents:
+			     m = re.match("INFO \(TwoPunctures\): The total ADM mass is (.*)", line)
+			     if(m):
+				ADMMass = float(m.group(1))
+            elif(par_files):
+  	        par_file = par_files[0]
+		print("Not yet implemented")
+		raise ValueError
+	    else:
+		print("Cannot determine ADM mass")
+		raise ValueError
 
             #Create data directories
             main_directory = "Extrapolated_Strain"
@@ -407,16 +430,6 @@ if __name__ == "__main__":
             if not os.path.exists(sim_dir):
                     os.makedirs(sim_dir)
 
-            #Get ADMMass
-            ADMMass = -1
-            filename = main_dir+"/output-0000/%s/TwoPunctures.bbh" % (sim)
-            with open(filename) as file:
-                    contents = file.readlines()
-                    for line in contents:
-                            line_elems = line.split(" ")
-                            if(line_elems[0] == "initial-ADM-energy"):
-                                    ADMMass = float(line_elems[-1])
-
             # TODO: fix this. It will fail if output-0000 does not contain any mp
             # output and also will open the output files multiple times
             fn = sorted(glob.glob(simdirs+"mp_psi4.h5"))[0]