diff --git a/Framework/PythonInterface/test/python/plugins/algorithms/QLRunTest.py b/Framework/PythonInterface/test/python/plugins/algorithms/QLRunTest.py
index 06bbd4d8f5d8c3edc4afcdad3211b277857386e1..9a12d331d74ef063fa0ee6cedccd9c2237797f39 100644
--- a/Framework/PythonInterface/test/python/plugins/algorithms/QLRunTest.py
+++ b/Framework/PythonInterface/test/python/plugins/algorithms/QLRunTest.py
@@ -1,188 +1,185 @@
 import unittest
 from mantid.simpleapi import *
+from IndirectImport import *
 from mantid.api import MatrixWorkspace, WorkspaceGroup
 
-class QLRunTest(unittest.TestCase):
-
-    _res_ws = None
-    _sample_ws = None
-    _num_bins = None
-    _num_hists = None
-
-    def setUp(self):
-        self._res_ws = Load(Filename='irs26173_graphite002_res.nxs',
-                            OutputWorkspace='__QLRunTest_Resolution')
-        self._sample_ws = Load(Filename='irs26176_graphite002_red.nxs',
-                            OutputWorkspace='__QLRunTest_Sample')
-        self._num_bins = self._sample_ws.blocksize()
-        self._num_hists = self._sample_ws.getNumberHistograms()
-        
-                            
-    def _validate_QLr_shape(self, result, probability, group):
-        """
-        Validates that the output workspaces are of the correct type, units and shape.
-
-        @param result Result workspace from QLRun
-        @param prob Probability workspace from QLRun
-        @param group Group workspace of fitted spectra from QLRun
-        """
-
-
-        # Test size/shape of result
-        self.assertTrue(isinstance(result, MatrixWorkspace))
-        self.assertEquals(result.getNumberHistograms(), 21)
-        self.assertEquals(result.blocksize(), self._num_hists)
-        self.assertEquals(result.getAxis(0).getUnit().unitID(), 'MomentumTransfer')
-
-        # Test size/shape of probability
-        self.assertTrue(isinstance(probability, MatrixWorkspace))
-        self.assertEquals(probability.getNumberHistograms(), 3)
-        self.assertEquals(probability.blocksize(), self._num_hists)
-        self.assertEquals(result.getAxis(0).getUnit().unitID(), 'MomentumTransfer')
-
-        # Test size/shape of group fitting workspaces
-        self.assertTrue(isinstance(group, WorkspaceGroup))
-        self.assertEquals(group.getNumberOfEntries(), self._sample_ws.getNumberHistograms())
-
-        # Test sub workspaces
-        for i in range (group.getNumberOfEntries()):
-            sub_ws = group.getItem(i)
-            self.assertTrue(isinstance(sub_ws, MatrixWorkspace))
-            self.assertEqual(sub_ws.getNumberHistograms(), 5)
-            self.assertEquals(sub_ws.getAxis(0).getUnit().unitID(), 'DeltaE')
-
-
-    def _validate_Qlr_value(self, result, probability, group):
-        """
-        Validates that the output workspaces have expected values
-        with values from the last known correct version
-
-        @param result Result workspace from QLRun
-        @param prob Probability workspace from QLRun
-        @param group Group workspace of fitted spectra from QLRun
-        """
-
-        # Test values of result
-        result_y = result.dataY(0)
-        self.assertEquals(round(result.dataY(0)[0], 5), 6.06105)
-        self.assertEquals(round(result.dataY(1)[0], 4), 68.5744)
-        self.assertEquals(round(result.dataY(2)[0], 7), 0.0589315)
-        self.assertEquals(round(result.dataY(3)[0], 7), 0.0812087)
-
-        # Test values of probability
-        prob_y = probability.dataY(0)
-        self.assertEquals(round(probability.dataY(0)[0], 1), -74176.1)
-        self.assertEquals(round(probability.dataY(1)[0], 3), -404.884)
-        self.assertEquals(round(probability.dataY(2)[0], 6), -0.222565)
-
-        # Test values of group
-        sub_ws = group.getItem(0)
-        sub_y = sub_ws.dataY(0)
-        self.assertEquals(round(sub_ws.dataY(0)[0], 5), 0.02540)
-        self.assertEquals(round(sub_ws.dataY(1)[0], 5), 0.01903)
-        self.assertEquals(round(sub_ws.dataY(2)[0], 5), -0.00638)
-        self.assertEquals(round(sub_ws.dataY(3)[0], 5), 0.01614)
-        self.assertEquals(round(sub_ws.dataY(4)[0], 5), -0.00926)
-
-
-    def _validate_QSe_shape(self, result, group):
-        """
-        Validates that the output workspaces are of the correct type, units and shape.
-        with values from the last known correct version
-
-        @param result Result workspace from QLRun
-        @param group Group workspace of fitted spectra from QLRun
-        """
-
-        # Test size/shape of result
-        self.assertTrue(isinstance(result, MatrixWorkspace))
-        self.assertEquals(result.getNumberHistograms(), 3)
-        self.assertEquals(result.blocksize(), self._num_hists)
-        self.assertEquals(result.getAxis(0).getUnit().unitID(), 'MomentumTransfer')
-
-        # Test size/shape of group fitting workspaces
-        self.assertTrue(isinstance(group, WorkspaceGroup))
-        self.assertEquals(group.getNumberOfEntries(), self._sample_ws.getNumberHistograms())
-
-        # Test sub workspaces
-        for i in range (group.getNumberOfEntries()):
-            sub_ws = group.getItem(i)
-            self.assertTrue(isinstance(sub_ws, MatrixWorkspace))
-            self.assertEqual(sub_ws.getNumberHistograms(), 3)
-            self.assertEquals(sub_ws.getAxis(0).getUnit().unitID(), 'DeltaE')
-
-
-
-    def _validate_QSe_value(self, result, group):
-        """
-        Validates that the output workspaces have expected values
-
-        @param result Result workspace from QLRun
-        @param prob Probability workspace from QLRun
-        @param group Group workspace of fitted spectra from QLRun
-        """
-
-        # Test values of result
-        result_y = result.dataY(0)
-        self.assertEquals(round(result.dataY(0)[0], 5), 81.12644)
-        self.assertEquals(round(result.dataY(1)[0], 7), 0.0319747)
-        self.assertEquals(round(result.dataY(2)[0], 5), 0.77168)
-
-        # Test values of group
-        sub_ws = group.getItem(0)
-        sub_y = sub_ws.dataY(0)
-        self.assertEquals(round(sub_ws.dataY(0)[0], 5), 0.02540)
-        self.assertEquals(round(sub_ws.dataY(1)[0], 5), 0.01632)
-        self.assertEquals(round(sub_ws.dataY(2)[0], 5), -0.00908)
-
-
-
-
-
-    def test_QLr_Run(self):
-        """
-        Test Lorentzian fit for QLRun
-        """
-        fit_group, result, prob= QLRun(Program='QL',
-                                          SampleWorkspace=self._sample_ws,
-                                          ResolutionWorkspace=self._res_ws,
-                                          MinRange=-0.547607,
-                                          MaxRange=0.543216,
-                                          SampleBins=1,
-                                          ResolutionBins=1,
-                                          Elastic=False,
-                                          Background='Sloping',
-                                          FixedWidth=False,
-                                          UseResNorm=False,
-                                          WidthFile='',
-                                          Loop=True,
-                                          Save=False,
-                                          Plot='None')
-        self._validate_QLr_shape(result, prob, fit_group)
-        self._validate_Qlr_value(result, prob, fit_group)
-
-
-    def test_QSe_Run(self):
-        """
-        Test Stretched Exponential fit for QLRun
-        """
-        fit_group, result = QLRun(Program='QSe',
-                                  SampleWorkspace=self._sample_ws,
-                                  ResolutionWorkspace=self._res_ws,
-                                  MinRange=-0.547607,
-                                  MaxRange=0.543216,
-                                  SampleBins=1,
-                                  ResolutionBins=1,
-                                  Elastic=False,
-                                  Background='Sloping',
-                                  FixedWidth=False,
-                                  UseResNorm=False,
-                                  WidthFile='',
-                                  Loop=True,
-                                  Save=False,
-                                  Plot='None')
-        self._validate_QSe_shape(result, fit_group)
-        self._validate_QSe_value(result, fit_group)
-
-if __name__=="__main__":
-    unittest.main()
\ No newline at end of file
+if is_supported_f2py_platform():
+    class QLRunTest(unittest.TestCase):
+
+        _res_ws = None
+        _sample_ws = None
+        _num_bins = None
+        _num_hists = None
+
+        def setUp(self):
+            self._res_ws = Load(Filename='irs26173_graphite002_res.nxs',
+                                OutputWorkspace='__QLRunTest_Resolution')
+            self._sample_ws = Load(Filename='irs26176_graphite002_red.nxs',
+                                OutputWorkspace='__QLRunTest_Sample')
+            self._num_bins = self._sample_ws.blocksize()
+            self._num_hists = self._sample_ws.getNumberHistograms()
+
+
+        def _validate_QLr_shape(self, result, probability, group):
+            """
+            Validates that the output workspaces are of the correct type, units and shape.
+
+            @param result Result workspace from QLRun
+            @param prob Probability workspace from QLRun
+            @param group Group workspace of fitted spectra from QLRun
+            """
+
+            # Test size/shape of result
+            self.assertTrue(isinstance(result, MatrixWorkspace))
+            self.assertEquals(result.getNumberHistograms(), 21)
+            self.assertEquals(result.blocksize(), self._num_hists)
+            self.assertEquals(result.getAxis(0).getUnit().unitID(), 'MomentumTransfer')
+
+            # Test size/shape of probability
+            self.assertTrue(isinstance(probability, MatrixWorkspace))
+            self.assertEquals(probability.getNumberHistograms(), 3)
+            self.assertEquals(probability.blocksize(), self._num_hists)
+            self.assertEquals(result.getAxis(0).getUnit().unitID(), 'MomentumTransfer')
+
+            # Test size/shape of group fitting workspaces
+            self.assertTrue(isinstance(group, WorkspaceGroup))
+            self.assertEquals(group.getNumberOfEntries(), self._sample_ws.getNumberHistograms())
+
+            # Test sub workspaces
+            for i in range (group.getNumberOfEntries()):
+                sub_ws = group.getItem(i)
+                self.assertTrue(isinstance(sub_ws, MatrixWorkspace))
+                self.assertEqual(sub_ws.getNumberHistograms(), 5)
+                self.assertEquals(sub_ws.getAxis(0).getUnit().unitID(), 'DeltaE')
+
+
+        def _validate_Qlr_value(self, result, probability, group):
+            """
+            Validates that the output workspaces have expected values
+            with values from the last known correct version
+
+            @param result Result workspace from QLRun
+            @param prob Probability workspace from QLRun
+            @param group Group workspace of fitted spectra from QLRun
+            """
+
+            # Test values of result
+            result_y = result.dataY(0)
+            self.assertEquals(round(result.dataY(0)[0], 5), 6.06105)
+            self.assertEquals(round(result.dataY(1)[0], 4), 68.5744)
+            self.assertEquals(round(result.dataY(2)[0], 7), 0.0589315)
+            self.assertEquals(round(result.dataY(3)[0], 7), 0.0812087)
+
+            # Test values of probability
+            prob_y = probability.dataY(0)
+            self.assertEquals(round(probability.dataY(0)[0], 1), -74176.1)
+            self.assertEquals(round(probability.dataY(1)[0], 3), -404.884)
+            self.assertEquals(round(probability.dataY(2)[0], 6), -0.222565)
+
+            # Test values of group
+            sub_ws = group.getItem(0)
+            sub_y = sub_ws.dataY(0)
+            self.assertEquals(round(sub_ws.dataY(0)[0], 5), 0.02540)
+            self.assertEquals(round(sub_ws.dataY(1)[0], 5), 0.01903)
+            self.assertEquals(round(sub_ws.dataY(2)[0], 5), -0.00638)
+            self.assertEquals(round(sub_ws.dataY(3)[0], 5), 0.01614)
+            self.assertEquals(round(sub_ws.dataY(4)[0], 5), -0.00926)
+
+
+        def _validate_QSe_shape(self, result, group):
+            """
+            Validates that the output workspaces are of the correct type, units and shape.
+            with values from the last known correct version
+
+            @param result Result workspace from QLRun
+            @param group Group workspace of fitted spectra from QLRun
+            """
+
+            # Test size/shape of result
+            self.assertTrue(isinstance(result, MatrixWorkspace))
+            self.assertEquals(result.getNumberHistograms(), 3)
+            self.assertEquals(result.blocksize(), self._num_hists)
+            self.assertEquals(result.getAxis(0).getUnit().unitID(), 'MomentumTransfer')
+
+            # Test size/shape of group fitting workspaces
+            self.assertTrue(isinstance(group, WorkspaceGroup))
+            self.assertEquals(group.getNumberOfEntries(), self._sample_ws.getNumberHistograms())
+
+            # Test sub workspaces
+            for i in range (group.getNumberOfEntries()):
+                sub_ws = group.getItem(i)
+                self.assertTrue(isinstance(sub_ws, MatrixWorkspace))
+                self.assertEqual(sub_ws.getNumberHistograms(), 3)
+                self.assertEquals(sub_ws.getAxis(0).getUnit().unitID(), 'DeltaE')
+
+
+        def _validate_QSe_value(self, result, group):
+            """
+            Validates that the output workspaces have expected values
+
+            @param result Result workspace from QLRun
+            @param prob Probability workspace from QLRun
+            @param group Group workspace of fitted spectra from QLRun
+            """
+
+            # Test values of result
+            result_y = result.dataY(0)
+            self.assertEquals(round(result.dataY(0)[0], 5), 81.12644)
+            self.assertEquals(round(result.dataY(1)[0], 7), 0.0319747)
+            self.assertEquals(round(result.dataY(2)[0], 5), 0.77168)
+
+            # Test values of group
+            sub_ws = group.getItem(0)
+            sub_y = sub_ws.dataY(0)
+            self.assertEquals(round(sub_ws.dataY(0)[0], 5), 0.02540)
+            self.assertEquals(round(sub_ws.dataY(1)[0], 5), 0.01632)
+            self.assertEquals(round(sub_ws.dataY(2)[0], 5), -0.00908)
+
+
+        def test_QLr_Run(self):
+            """
+            Test Lorentzian fit for QLRun
+            """
+            fit_group, result, prob= QLRun(Program='QL',
+                                              SampleWorkspace=self._sample_ws,
+                                              ResolutionWorkspace=self._res_ws,
+                                              MinRange=-0.547607,
+                                              MaxRange=0.543216,
+                                              SampleBins=1,
+                                              ResolutionBins=1,
+                                              Elastic=False,
+                                              Background='Sloping',
+                                              FixedWidth=False,
+                                              UseResNorm=False,
+                                              WidthFile='',
+                                              Loop=True,
+                                              Save=False,
+                                              Plot='None')
+            self._validate_QLr_shape(result, prob, fit_group)
+            self._validate_Qlr_value(result, prob, fit_group)
+
+
+        def test_QSe_Run(self):
+            """
+            Test Stretched Exponential fit for QLRun
+            """
+            fit_group, result = QLRun(Program='QSe',
+                                      SampleWorkspace=self._sample_ws,
+                                      ResolutionWorkspace=self._res_ws,
+                                      MinRange=-0.547607,
+                                      MaxRange=0.543216,
+                                      SampleBins=1,
+                                      ResolutionBins=1,
+                                      Elastic=False,
+                                      Background='Sloping',
+                                      FixedWidth=False,
+                                      UseResNorm=False,
+                                      WidthFile='',
+                                      Loop=True,
+                                      Save=False,
+                                      Plot='None')
+            self._validate_QSe_shape(result, fit_group)
+            self._validate_QSe_value(result, fit_group)
+
+    if __name__=="__main__":
+        unittest.main()