diff --git a/scripts/Diffraction/isis_powder/polaris_routines/polaris_algs.py b/scripts/Diffraction/isis_powder/polaris_routines/polaris_algs.py
index feb949918831d334439833ca281b1895d0f96762..9fcb5cf25c4da8d3b71d3a6350841badcc3ee8e8 100644
--- a/scripts/Diffraction/isis_powder/polaris_routines/polaris_algs.py
+++ b/scripts/Diffraction/isis_powder/polaris_routines/polaris_algs.py
@@ -149,12 +149,14 @@ def _merge_workspace_with_limits(focused_ws, q_lims):
         ws_range = np.max(x_data)-np.min(x_data)
         if ws_range > ws_max_range:
             largest_range_spectrum = i + 1
+            ws_max_range = ws_range
     focused_ws = mantid.Rebin(InputWorkspace=focused_ws, Params=[min_x, (max_x-min_x)/num_x, max_x])
-
     while focused_ws.size() > 1:
         mantid.ConjoinWorkspaces(InputWorkspace1=focused_ws[0],
                                  InputWorkspace2=focused_ws[1])
     focused_ws_conjoined = focused_ws[0]
+    mantid.MatchSpectra(InputWorkspace=focused_ws_conjoined, OutputWorkspace=focused_ws_conjoined,
+                        ReferenceSpectrum=largest_range_spectrum)
 
     q_min, q_max = _load_qlims(q_lims)
     bin_width = np.inf
@@ -165,8 +167,6 @@ def _merge_workspace_with_limits(focused_ws, q_lims):
         q_min[i] = pdf_x_array[tmp2]
         q_max[i] = pdf_x_array[np.amax(np.where(pdf_x_array <= q_max[i]))]
         bin_width = min(pdf_x_array[1] - pdf_x_array[0], bin_width)
-    mantid.MatchSpectra(InputWorkspace=focused_ws_conjoined, OutputWorkspace=focused_ws_conjoined,
-                        ReferenceSpectrum=largest_range_spectrum)
     focused_data_combined = mantid.CropWorkspaceRagged(InputWorkspace=focused_ws_conjoined, XMin=q_min, XMax=q_max)
     focused_data_combined = mantid.Rebin(InputWorkspace=focused_data_combined,
                                          Params=[min(q_min), bin_width, max(q_max)])