diff --git a/Framework/PythonInterface/plugins/algorithms/ConvertWANDSCDtoQ.py b/Framework/PythonInterface/plugins/algorithms/ConvertWANDSCDtoQ.py
index 12580851ccaa1e799f64f989d9337042236dab92..e5e98845e0f093269bd96961ff6a168d2a82e008 100644
--- a/Framework/PythonInterface/plugins/algorithms/ConvertWANDSCDtoQ.py
+++ b/Framework/PythonInterface/plugins/algorithms/ConvertWANDSCDtoQ.py
@@ -35,6 +35,7 @@ class ConvertWANDSCDtoQ(PythonAlgorithm):
                                                direction=Direction.Input),
                              "Workspace containing the UB matrix to use")
         self.declareProperty("Wavelength", 1.488, validator=FloatBoundedValidator(0.0), doc="Wavelength to set the workspace")
+        self.declareProperty("S1Offset", 0., doc="Offset to apply (in degrees) to the s1 of the input workspace")
         self.declareProperty('NormaliseBy', 'Monitor', StringListValidator(['None', 'Time', 'Monitor']),
                              "Normalise to monitor, time or None.")
         self.declareProperty('Frame', 'Q_sample', StringListValidator(['Q_sample', 'HKL']),
@@ -153,7 +154,7 @@ class ConvertWANDSCDtoQ(PythonAlgorithm):
         progress = Progress(self, 0.0, 1.0, number_of_runs+4)
 
         # Get rotation array
-        s1 = np.deg2rad(inWS.getExperimentInfo(0).run().getProperty('s1').value)
+        s1 = np.deg2rad(inWS.getExperimentInfo(0).run().getProperty('s1').value) + np.deg2rad(self.getProperty("S1Offset").value)
 
         normaliseBy = self.getProperty("NormaliseBy").value
         if normaliseBy == "Monitor":