diff --git a/Framework/PythonInterface/plugins/algorithms/MagnetismReflectometryReduction.py b/Framework/PythonInterface/plugins/algorithms/MagnetismReflectometryReduction.py
index b684b5a7e96f3d4cc3fb9a8706722cefa8c3f67e..1a0ad02c73bad24c6d109508393fbe916c91b482 100644
--- a/Framework/PythonInterface/plugins/algorithms/MagnetismReflectometryReduction.py
+++ b/Framework/PythonInterface/plugins/algorithms/MagnetismReflectometryReduction.py
@@ -5,6 +5,7 @@
 from __future__ import (absolute_import, division, print_function)
 import math
 import numpy as np
+import functools
 from mantid.api import *
 from mantid.simpleapi import *
 from mantid.kernel import *
@@ -195,7 +196,7 @@ class MagnetismReflectometryReduction(PythonAlgorithm):
                     # Allow for a file name or file path as input
                     data_file = FileFinder.findRuns(item)[0]
                 file_list.append(data_file)
-            runs = reduce((lambda x, y: '%s+%s' % (x, y)), file_list)
+            runs = functools.reduce((lambda x, y: '%s+%s' % (x, y)), file_list)
             entry_name = self.getProperty("EntryName").value
             ws_event_data = LoadEventNexus(Filename=runs, NXentryName=entry_name,
                                            OutputWorkspace="%s_%s" % (INSTRUMENT_NAME, dataRunNumbers[0]))