diff --git a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/IndirectDiffScan.py b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/IndirectDiffScan.py
index 864777eb6e46d96b47d91df6605fba3b6bad3bc7..79e483befb71f7cb0857ec10cd71483f93572f0f 100644
--- a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/IndirectDiffScan.py
+++ b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/IndirectDiffScan.py
@@ -4,6 +4,8 @@ from mantid.api import *
 from mantid.simpleapi import *
 from mantid import config
 
+from IndirectCommon import formatRuns
+
 
 class IndirectDiffScan(DataProcessorAlgorithm):
     _data_files = None
@@ -78,7 +80,7 @@ class IndirectDiffScan(DataProcessorAlgorithm):
         process_prog = Progress(self, start=0.1, end=0.9, nreports=len(self._workspace_names))
         process_prog.report("Running diffraction")
         scan_alg = self.createChildAlgorithm("ISISIndirectDiffractionReduction", 0.05, 0.95)
-        scan_alg.setProperty('InputFiles', self._data_files)
+        scan_alg.setProperty('InputFiles', formatRuns(self._data_files, self._instrument_name))
         scan_alg.setProperty('ContainerFiles', self._can_files)
         scan_alg.setProperty('ContainerScaleFactor', self._can_scale)
         scan_alg.setProperty('CalFile', self._calib_file)
diff --git a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SofQWMomentsScan.py b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SofQWMomentsScan.py
index e5a3ed17c56c6f6302507e40a78f2391f69003ae..7e2d29bfbd4394106db18edc2a4ca5cd70fe3514 100644
--- a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SofQWMomentsScan.py
+++ b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SofQWMomentsScan.py
@@ -6,6 +6,8 @@ from mantid import config
 import os
 import numpy as np
 
+from IndirectCommon import formatRuns
+
 
 class SofQWMomentsScan(DataProcessorAlgorithm):
     _data_files = None
@@ -110,7 +112,7 @@ class SofQWMomentsScan(DataProcessorAlgorithm):
 
         progress.report('Energy transfer')
         scan_alg = self.createChildAlgorithm("ISISIndirectEnergyTransfer", 0.05, 0.95)
-        scan_alg.setProperty('InputFiles', self._data_files)
+        scan_alg.setProperty('InputFiles', formatRuns(self._data_files, self._instrument_name))
         scan_alg.setProperty('SumFiles', self._sum_files)
         scan_alg.setProperty('LoadLogFiles', self._load_logs)
         scan_alg.setProperty('CalibrationWorkspace', self._calibration_ws)
diff --git a/scripts/Inelastic/IndirectCommon.py b/scripts/Inelastic/IndirectCommon.py
index 8272143fa72b61a967d8f395a9637ba4cf5700d6..8f316f01cec9ba06fb91c3ac53efbdb0ad902177 100644
--- a/scripts/Inelastic/IndirectCommon.py
+++ b/scripts/Inelastic/IndirectCommon.py
@@ -5,7 +5,6 @@ from six.moves import range
 import mantid.simpleapi as s_api
 from mantid import config, logger
 
-
 import os.path
 import math
 import datetime
@@ -522,3 +521,24 @@ def firstNonZero(data):
     for i in range(len(data)):
         if data[i] != 0:
             return i
+
+
+def formatRuns(runs, instrument_name):
+    """
+    :return: A list of runs prefixed with the given instrument name
+    """
+    run_list = []
+    for run in runs:
+        if '-' in run:
+            a, b = run.split('-')
+            run_list.extend(range(int(a), int(b) + 1))
+        else:
+            try:
+                run_list.append(int(run))
+            except:
+                # run already has instrument eg 'osi1000'
+                run_list.append(run)
+    for idx, run in enumerate(run_list):
+        if type(run) == int:
+            run_list[idx] = instrument_name + str(run)
+    return run_list