diff --git a/Testing/SystemTests/tests/analysis/ISIS_WISHPowderReductionTest.py b/Testing/SystemTests/tests/analysis/ISIS_WISHPowderReductionTest.py
index 1115bc12362505df3cb6e058e7e7494c32303e9a..fd758cdc4aed75bbc14e466b4f21314bbcf178bb 100644
--- a/Testing/SystemTests/tests/analysis/ISIS_WISHPowderReductionTest.py
+++ b/Testing/SystemTests/tests/analysis/ISIS_WISHPowderReductionTest.py
@@ -71,10 +71,6 @@ class WISHPowderReductionTest(MantidSystemTest):
             mantid.DeleteWorkspace(ws)
             mantid.DeleteWorkspace(ws + "-d")
 
-    # Skip test when on builds as extremely slow, run only as reversion test for wish script
-    def skipTests(self):
-        return False
-
 
 class WISHPowderReductionNoAbsorptionTest(MantidSystemTest):
     # still missing required files check with ./systemtest -R PowderReduction --showskipped
@@ -109,10 +105,6 @@ class WISHPowderReductionNoAbsorptionTest(MantidSystemTest):
             mantid.DeleteWorkspace(ws)
             mantid.DeleteWorkspace(ws + "-d")
 
-    # Skip test when on builds as extremely slow, run only as reversion test for wish script
-    def skipTests(self):
-        return False
-
 
 class WISHPowderReductionCreateVanadiumTest(MantidSystemTest):
     # still missing required files check with ./systemtest -R PowderReduction --showskipped
@@ -128,7 +120,7 @@ class WISHPowderReductionCreateVanadiumTest(MantidSystemTest):
 
     def runTest(self):
         os.makedirs(output_dir)
-        wish_test = Wish(calibration_dir + "/", output_dir + "/", True, input_dir)
+        wish_test = Wish(calibration_dir + "/", output_dir + "/", True, input_dir +"/")
         wish_test.create_vanadium_run(19612, 19618, panels)
 
     def validate(self):
@@ -139,6 +131,3 @@ class WISHPowderReductionCreateVanadiumTest(MantidSystemTest):
         print(validation_files)
         return validation_files
 
-    # Skip test when on builds as extremely slow, run only as reversion test for wish script
-    def skipTests(self):
-        return False
diff --git a/Testing/SystemTests/tests/analysis/reference/WISH40503-5_6no_absorb_raw.nxs.md5 b/Testing/SystemTests/tests/analysis/reference/WISH40503-5_6no_absorb_raw.nxs.md5
new file mode 100644
index 0000000000000000000000000000000000000000..48be88f06db245a22550ac088d1dd566857297d0
--- /dev/null
+++ b/Testing/SystemTests/tests/analysis/reference/WISH40503-5_6no_absorb_raw.nxs.md5
@@ -0,0 +1 @@
+6d48e72de164d0bea0d2f33d954ae1ef
diff --git a/Testing/SystemTests/tests/analysis/reference/WISH40503-5_6raw.nxs.md5 b/Testing/SystemTests/tests/analysis/reference/WISH40503-5_6raw.nxs.md5
new file mode 100644
index 0000000000000000000000000000000000000000..f011cfd731f0c5ff2394a70957d4b34a01dcb1a0
--- /dev/null
+++ b/Testing/SystemTests/tests/analysis/reference/WISH40503-5_6raw.nxs.md5
@@ -0,0 +1 @@
+c9c36283bd351afc7296b81594b64f05
diff --git a/Testing/SystemTests/tests/analysis/reference/WISH41870-1_10raw.nxs.md5 b/Testing/SystemTests/tests/analysis/reference/WISH41870-1_10raw.nxs.md5
deleted file mode 100644
index b35e98a748bf0a0efcf682c585fc529e532261af..0000000000000000000000000000000000000000
--- a/Testing/SystemTests/tests/analysis/reference/WISH41870-1_10raw.nxs.md5
+++ /dev/null
@@ -1 +0,0 @@
-62b46e6a09c66c34fd65cca545783c2b
diff --git a/Testing/SystemTests/tests/analysis/reference/WISH41870-2_9raw.nxs.md5 b/Testing/SystemTests/tests/analysis/reference/WISH41870-2_9raw.nxs.md5
deleted file mode 100644
index 43cfcbfd6a2f5c2e0ee978a832c3d5d92ef43a96..0000000000000000000000000000000000000000
--- a/Testing/SystemTests/tests/analysis/reference/WISH41870-2_9raw.nxs.md5
+++ /dev/null
@@ -1 +0,0 @@
-75b95e5e550ab45932c92525f7285209
diff --git a/Testing/SystemTests/tests/analysis/reference/WISH41870-3_8raw.nxs.md5 b/Testing/SystemTests/tests/analysis/reference/WISH41870-3_8raw.nxs.md5
deleted file mode 100644
index fe1f174409616056aff2fba331dd6bcd0461d3d0..0000000000000000000000000000000000000000
--- a/Testing/SystemTests/tests/analysis/reference/WISH41870-3_8raw.nxs.md5
+++ /dev/null
@@ -1 +0,0 @@
-cb91390e3ed1428eda044c75c776afb6
diff --git a/Testing/SystemTests/tests/analysis/reference/WISH41870-4_7raw.nxs.md5 b/Testing/SystemTests/tests/analysis/reference/WISH41870-4_7raw.nxs.md5
deleted file mode 100644
index 0045522dc678b8ef92214b190692de4eca889013..0000000000000000000000000000000000000000
--- a/Testing/SystemTests/tests/analysis/reference/WISH41870-4_7raw.nxs.md5
+++ /dev/null
@@ -1 +0,0 @@
-31d0b9bea9965eae70fbf0d2c93ab6f1
diff --git a/Testing/SystemTests/tests/analysis/reference/WISH41870-5_6raw.nxs.md5 b/Testing/SystemTests/tests/analysis/reference/WISH41870-5_6raw.nxs.md5
deleted file mode 100644
index 42fa6b456e67c67dd9320478c976822b1d640d53..0000000000000000000000000000000000000000
--- a/Testing/SystemTests/tests/analysis/reference/WISH41870-5_6raw.nxs.md5
+++ /dev/null
@@ -1 +0,0 @@
-c4515cceb5b4d58f0bcfded962d2a189
diff --git a/Testing/SystemTests/tests/analysis/reference/vana19612-5foc-SF-SS.nxs.md5 b/Testing/SystemTests/tests/analysis/reference/vana19612-5foc-SF-SS.nxs.md5
new file mode 100644
index 0000000000000000000000000000000000000000..cf5800e7b756d10574b57b78fe76ed36fb4b8518
--- /dev/null
+++ b/Testing/SystemTests/tests/analysis/reference/vana19612-5foc-SF-SS.nxs.md5
@@ -0,0 +1 @@
+e8fea832144b67b4911cd00e5abb27e8
diff --git a/Testing/SystemTests/tests/analysis/reference/vana19612-6foc-SF-SS.nxs.md5 b/Testing/SystemTests/tests/analysis/reference/vana19612-6foc-SF-SS.nxs.md5
new file mode 100644
index 0000000000000000000000000000000000000000..d81d1572114947b481305f83bb2e5d71ae0aaf0b
--- /dev/null
+++ b/Testing/SystemTests/tests/analysis/reference/vana19612-6foc-SF-SS.nxs.md5
@@ -0,0 +1 @@
+dafd63eef31cf573fcf643614ce5808d
diff --git a/scripts/wish/reduce.py b/scripts/wish/reduce.py
index 8efb68ab2e0d835bb4210d7e1b7803b7fcefc5ab..a8bdf929db3af2b1c7b5757d4beed98afb25ebb8 100644
--- a/scripts/wish/reduce.py
+++ b/scripts/wish/reduce.py
@@ -9,13 +9,13 @@ class Wish:
     NUM_MONITORS = 6
     LAMBDA_RANGE = (0.7, 10.35)
 
-    def __init__(self, cal_directory, output_folder, delete_workspace,
+    def __init__(self, cal_directory, output_folder, delete_ws,
                  user_directory="/archive/ndxwish/Instrument/data/cycle_", absorb=True):
         self.absorb = absorb
         self.cal_dir = cal_directory
         self.use_folder = user_directory
         self.out_folder = output_folder
-        self.deleteWorkspace = delete_workspace
+        self.deleteWorkspace = delete_ws
         self.is_vanadium = False
         self.username = None
         self.data_directory = None
@@ -100,7 +100,7 @@ class Wish:
         return filename
 
     # Reads a wish data file return a workspace with a short name
-    def read(self, number, panel, ext):
+    def read(self, number, panel, extension):
         if type(number) is int:
             filename = self.datafile
             print("will be reading filename...", filename)
@@ -111,13 +111,13 @@ class Wish:
                 output = "w{0}-{1}".format(number, panel)
             else:
                 output = "w{}".format(number)
-            shared_load_files(ext, filename, output, spectra_max, spectra_min, False)
-            if ext == "nxs_event":
+            shared_load_files(extension, filename, output, spectra_max, spectra_min, False)
+            if extension == "nxs_event":
                 mantid.LoadEventNexus(Filename=filename, OutputWorkspace=output, LoadMonitors='1')
                 self.read_event_nexus(number, output, panel)
                 print("full nexus eventfile loaded")
-            if ext[:10] == "nxs_event_":
-                label, tmin, tmax = split_string_event(ext)
+            if extension[:10] == "nxs_event_":
+                label, tmin, tmax = split_string_event(extension)
                 output = output + "_" + label
                 if tmax == "end":
                     mantid.LoadEventNexus(Filename=filename, OutputWorkspace=output, FilterByTimeStart=tmin,
@@ -133,8 +133,8 @@ class Wish:
         else:
             num_1, num_2 = split_string(number)
             output = "w{0}_{1}-{2}".format(num_1, num_2, panel)
-            output1 = self.load_multi_run_part(ext, num_1, panel)
-            output2 = self.load_multi_run_part(ext, num_2, panel)
+            output1 = self.load_multi_run_part(extension, num_1, panel)
+            output2 = self.load_multi_run_part(extension, num_2, panel)
             mantid.MergeRuns(output1 + "," + output2, output)
             mantid.DeleteWorkspace(output1)
             mantid.DeleteWorkspace(output2)
@@ -143,7 +143,7 @@ class Wish:
         mantid.CropWorkspace(InputWorkspace=output, OutputWorkspace=output, XMin=lmin, XMax=lmax)
         monitor_run = "monitor{}".format(number)
         if monitor_run not in mantid.mtd:
-            monitor = self.process_incidentmon(number, ext, spline_terms=70)
+            monitor = self.process_incidentmon(number, extension, spline_terms=70)
         else:
             monitor = mantid.mtd[monitor_run]
         print("first norm to be done")
@@ -161,8 +161,8 @@ class Wish:
                                     InfinityError=0.0)
         return output
 
-    def load_multi_run_part(self, ext, run, panel):
-        filename = self.get_file_name(run, ext)
+    def load_multi_run_part(self, extension, run, panel):
+        filename = self.get_file_name(run, extension)
         print("reading filename...", filename)
         spectra_min, spectra_max = self.return_panel.get(panel)
         output1 = "w{0}-{1}".format(run, panel)
@@ -200,13 +200,13 @@ class Wish:
             self.focus_onepanel(work, focus, panel)
             split(focus)
 
-    def process_run(self, number, panel, extension, cyclevana="09_4", absorb=False, number_density=0.0, scattering=0.0,
+    def process_run(self, number, panel, extension, cycle_vana="09_4", absorb=False, number_density=0.0, scattering=0.0,
                     attenuation=0.0, height=0.0, radius=0.0):
-        workspace_to_focus = self.read(number, panel, extension)
+        ws_to_focus = self.read(number, panel, extension)
         print("file read and normalized")
         if absorb:
-            absorption_corrections(attenuation, height, number_density, radius, scattering, workspace_to_focus)
-        wfocname = self.focus(workspace_to_focus, panel)
+            absorption_corrections(attenuation, height, number_density, radius, scattering, ws_to_focus)
+        focused_ws = self.focus(ws_to_focus, panel)
         print("focussing done!")
 
         panel_crop = {
@@ -222,57 +222,58 @@ class Wish:
             10: (0.8, 53.3)
         }
         d_min, d_max = panel_crop.get(panel)
-        mantid.CropWorkspace(InputWorkspace=wfocname, OutputWorkspace=wfocname, XMin=d_min, XMax=d_max)
+        mantid.CropWorkspace(InputWorkspace=focused_ws, OutputWorkspace=focused_ws, XMin=d_min, XMax=d_max)
 
         if panel == 0:
             for i in range(Wish.NUM_PANELS):
-                wfocname = "w{0}-{1}foc".format(number, i)
-                mantid.CropWorkspace(InputWorkspace=wfocname, OutputWorkspace=wfocname, XMin=d_min, XMax=d_max)
-                print("will try to load a vanadium with the name:", self.get_vanadium(i,  cyclevana))
-                self.apply_vanadium_corrections(cyclevana, i, wfocname)
-                mantid.SaveGSS(InputWorkspace=wfocname,
+                focused_ws = "w{0}-{1}foc".format(number, i)
+                mantid.CropWorkspace(InputWorkspace=focused_ws, OutputWorkspace=focused_ws, XMin=d_min, XMax=d_max)
+                print("will try to load a vanadium with the name:", self.get_vanadium(i, cycle_vana))
+                self.apply_vanadium_corrections(cycle_vana, i, focused_ws)
+                mantid.SaveGSS(InputWorkspace=focused_ws,
                                Filename="{0}{1}-{2}{3}.gss".format(self.user_directory, number, i, extension),
                                Append=False, Bank=1)
-                mantid.SaveFocusedXYE(wfocname, "{0}{1}-{2}{3}.dat".format(self.user_directory, number, i, extension))
-                mantid.SaveNexusProcessed(wfocname, "{0}{1}-{2}{3}.nxs".format(self.user_directory, number, i,
-                                                                               extension))
+                mantid.SaveFocusedXYE(focused_ws, "{0}{1}-{2}{3}.dat".format(self.user_directory, number, i, extension))
+                mantid.SaveNexusProcessed(focused_ws, "{0}{1}-{2}{3}.nxs".format(self.user_directory, number, i,
+                                                                                 extension))
         else:
-            print("will try to load a vanadium with the name:", self.get_vanadium(panel,  cyclevana))
-            self.apply_vanadium_corrections(cyclevana, panel, wfocname)
-            mantid.SaveGSS(InputWorkspace=wfocname,
+            print("will try to load a vanadium with the name:", self.get_vanadium(panel, cycle_vana))
+            self.apply_vanadium_corrections(cycle_vana, panel, focused_ws)
+            mantid.SaveGSS(InputWorkspace=focused_ws,
                            Filename="{0}{1}-{2}{3}.gss".format(self.user_directory, number, panel, extension),
                            Append=False, Bank=1)
-            mantid.SaveFocusedXYE(wfocname, "{0}{1}-{2}{3}.dat".format(self.user_directory, number, panel, extension))
-            mantid.SaveNexusProcessed(wfocname, "{0}{1}-{2}{3}.nxs".format(self.user_directory, number, panel,
-                                                                           extension))
-        return wfocname
+            mantid.SaveFocusedXYE(focused_ws, "{0}{1}-{2}{3}.dat".format(self.user_directory, number, panel, extension))
+            mantid.SaveNexusProcessed(focused_ws, "{0}{1}-{2}{3}.nxs".format(self.user_directory, number, panel,
+                                                                             extension))
+        return focused_ws
 
-    def apply_vanadium_corrections(self, cyclevana, i, wfocname):
+    def apply_vanadium_corrections(self, cyclevana, i, focused_ws):
         mantid.LoadNexusProcessed(Filename=self.get_vanadium(i, cyclevana), OutputWorkspace="vana")
-        mantid.RebinToWorkspace(WorkspaceToRebin="vana", WorkspaceToMatch=wfocname, OutputWorkspace="vana")
-        mantid.Divide(LHSWorkspace=wfocname, RHSWorkspace="vana", OutputWorkspace=wfocname)
+        mantid.RebinToWorkspace(WorkspaceToRebin="vana", WorkspaceToMatch=focused_ws, OutputWorkspace="vana")
+        mantid.Divide(LHSWorkspace=focused_ws, RHSWorkspace="vana", OutputWorkspace=focused_ws)
         mantid.DeleteWorkspace("vana")
-        mantid.ConvertUnits(InputWorkspace=wfocname, OutputWorkspace=wfocname, Target="TOF", EMode="Elastic")
-        mantid.ReplaceSpecialValues(InputWorkspace=wfocname, OutputWorkspace=wfocname, NaNValue=0.0,
+        mantid.ConvertUnits(InputWorkspace=focused_ws, OutputWorkspace=focused_ws, Target="TOF",
+                            EMode="Elastic")
+        mantid.ReplaceSpecialValues(InputWorkspace=focused_ws, OutputWorkspace=focused_ws, NaNValue=0.0,
                                     NaNError=0.0,
                                     InfinityValue=0.0, InfinityError=0.0)
 
     # Create a corrected vanadium (normalise,corrected for attenuation and empty, strip peaks) and
     # save a a nexus processed file.
     # It looks like smoothing of 100 works quite well
-    def process_vanadium(self, van, empty, panel, vh, vr, cycle_van="09_3", cycle_empty="09_3"):
+    def process_vanadium(self, vanadium, empty, panel, height, radius, cycle_van="09_3", cycle_empty="09_3"):
         user_data_directory = self.use_folder + cycle_van + '/'
         self.set_data_directory(user_data_directory)
-        self.datafile = self.get_file_name(van, "raw")
-        wvan = self.read(van, panel, "raw")
+        self.datafile = self.get_file_name(vanadium, "raw")
+        vanadium_ws = self.read(vanadium, panel, "raw")
         user_data_directory = self.use_folder + cycle_empty + '/'
         self.set_data_directory(user_data_directory)
         self.datafile = self.get_file_name(empty, "raw")
-        wempty = self.read(empty, panel, "raw")
-        mantid.Minus(LHSWorkspace=wvan, RHSWorkspace=wempty, OutputWorkspace=wvan)
-        mantid.DeleteWorkspace(wempty)
-        absorption_corrections(4.8756, vh, 0.07118, vr, 5.16, wvan)
-        vanfoc = self.focus(wvan, panel)
+        empty_ws = self.read(empty, panel, "raw")
+        mantid.Minus(LHSWorkspace=vanadium_ws, RHSWorkspace=empty_ws, OutputWorkspace=vanadium_ws)
+        mantid.DeleteWorkspace(empty_ws)
+        absorption_corrections(4.8756, height, 0.07118, radius, 5.16, vanadium_ws)
+        vanfoc = self.focus(vanadium_ws, panel)
 
         panel_crop = {
             1:  (0.95, 53.3),
@@ -288,7 +289,6 @@ class Wish:
         }
         d_min, d_max = panel_crop.get(panel)
         mantid.CropWorkspace(InputWorkspace=vanfoc, OutputWorkspace=vanfoc, XMin=d_min, XMax=d_max)
-        # StripPeaks(vanfoc,vanfoc)
         spline_coefficient = {
             1:  120,
             2:  120,
@@ -317,15 +317,6 @@ class Wish:
         mantid.DeleteWorkspace("WISH_diff_group")
         mantid.DeleteWorkspace("WISH_diff_mask")
 
-    def monitors(self, rb, ext):
-        monitor_file = self.get_file_name(rb, ext)
-        wout = "w{}".format(rb)
-        print("reading File...", monitor_file)
-        mantid.LoadRaw(Filename=monitor_file, OutputWorkspace=wout, SpectrumMin=1, SpectrumMax=5, LoadLogFiles="0")
-        mantid.NormaliseByCurrent(InputWorkspace=wout, OutputWorkspace=wout)
-        mantid.ConvertToDistribution(wout)
-        return wout
-
     def process_incidentmon(self, number, extension, spline_terms=20):
         if type(number) is int:
             filename = self.get_file_name(number, extension)
@@ -350,8 +341,8 @@ class Wish:
             mantid.DeleteWorkspace(works1)
             mantid.DeleteWorkspace(works2)
         mantid.ConvertUnits(InputWorkspace=works, OutputWorkspace=works, Target="Wavelength", Emode="Elastic")
-        lmin, lmax = Wish.LAMBDA_RANGE
-        mantid.CropWorkspace(InputWorkspace=works, OutputWorkspace=works, XMin=lmin, XMax=lmax)
+        lambda_min, lambda_max = Wish.LAMBDA_RANGE
+        mantid.CropWorkspace(InputWorkspace=works, OutputWorkspace=works, XMin=lambda_min, XMax=lambda_max)
         ex_regions = n.array([[4.57, 4.76],
                               [3.87, 4.12],
                               [2.75, 2.91],
@@ -397,38 +388,34 @@ class Wish:
             2: 9,
             1: 10
         }
-        input_workspace1 = "w{0}-{1}foc".format(run, panel)
-        input_workspace2 = "w{0}-{1}foc".format(run, panel_combination.get(panel))
+        input_ws1 = "w{0}-{1}foc".format(run, panel)
+        input_ws2 = "w{0}-{1}foc".format(run, panel_combination.get(panel))
         combined = "{0}{1}-{2}_{3}foc{4}".format("{0}", run, panel, panel_combination.get(panel), "{1}")
         combined_save = combined.format("", "{}")
         combined_ws = combined.format("w", "")
 
-        mantid.RebinToWorkspace(WorkspaceToRebin=input_workspace2, WorkspaceToMatch=input_workspace1,
-                                OutputWorkspace=input_workspace2, PreserveEvents='0')
-        mantid.Plus(LHSWorkspace=input_workspace1, RHSWorkspace=input_workspace2,
-                    OutputWorkspace=combined_ws)
-        mantid.ConvertUnits(InputWorkspace=combined_ws, OutputWorkspace=combined_ws + "-d",
-                            Target="dSpacing",
+        mantid.RebinToWorkspace(WorkspaceToRebin=input_ws2, WorkspaceToMatch=input_ws1, OutputWorkspace=input_ws2,
+                                PreserveEvents='0')
+        mantid.Plus(LHSWorkspace=input_ws1, RHSWorkspace=input_ws2,  OutputWorkspace=combined_ws)
+        mantid.ConvertUnits(InputWorkspace=combined_ws, OutputWorkspace=combined_ws + "-d", Target="dSpacing",
                             EMode="Elastic")
 
-        mantid.SaveGSS(combined_ws, os.path.join(self.user_directory, combined_save.format("raw.gss")),
-                       Append=False,
+        mantid.SaveGSS(combined_ws, os.path.join(self.user_directory, combined_save.format("raw.gss")), Append=False,
                        Bank=1)
-        mantid.SaveFocusedXYE(combined_ws,
-                              os.path.join(self.user_directory, combined_save.format("raw.dat")))
+        mantid.SaveFocusedXYE(combined_ws, os.path.join(self.user_directory, combined_save.format("raw.dat")))
         mantid.SaveNexusProcessed(combined_ws, os.path.join(self.user_directory, combined_save.format("raw.nxs")))
 
 
-def absorption_corrections(attenuation, height, number_density, radius, scattering, w):
-    mantid.ConvertUnits(InputWorkspace=w, OutputWorkspace=w, Target="Wavelength", EMode="Elastic")
-    mantid.CylinderAbsorption(InputWorkspace=w, OutputWorkspace="absorptionWS",
+def absorption_corrections(attenuation, height, number_density, radius, scattering, input_ws):
+    mantid.ConvertUnits(InputWorkspace=input_ws, OutputWorkspace=input_ws, Target="Wavelength", EMode="Elastic")
+    mantid.CylinderAbsorption(InputWorkspace=input_ws, OutputWorkspace="absorptionWS",
                               CylinderSampleHeight=height, CylinderSampleRadius=radius,
                               AttenuationXSection=attenuation, ScatteringXSection=scattering,
                               SampleNumberDensity=number_density, NumberOfSlices="10", NumberOfAnnuli="10",
                               NumberOfWavelengthPoints="25", ExpMethod="Normal")
-    mantid.Divide(LHSWorkspace=w, RHSWorkspace="absorptionWS", OutputWorkspace=w)
+    mantid.Divide(LHSWorkspace=input_ws, RHSWorkspace="absorptionWS", OutputWorkspace=input_ws)
     mantid.DeleteWorkspace("absorptionWS")
-    mantid.ConvertUnits(InputWorkspace=w, OutputWorkspace=w, Target="TOF", EMode="Elastic")
+    mantid.ConvertUnits(InputWorkspace=input_ws, OutputWorkspace=input_ws, Target="TOF", EMode="Elastic")
 
 
 def split(focus):