diff --git a/Code/Mantid/Framework/MDAlgorithms/test/CutMDTest.h b/Code/Mantid/Framework/MDAlgorithms/test/CutMDTest.h
index 0cbba16589494d9467e251491f872fd7761bb20f..8a0a5ae3bb7af69c04da6a5800906a743d9dbccb 100644
--- a/Code/Mantid/Framework/MDAlgorithms/test/CutMDTest.h
+++ b/Code/Mantid/Framework/MDAlgorithms/test/CutMDTest.h
@@ -91,6 +91,51 @@ public:
 
     AnalysisDataService::Instance().remove(wsName);
   }
+
+  void test_slice_to_original() {
+    const std::string wsName = "__CutMDTest_slice_to_original";
+
+    auto algCutMD = FrameworkManager::Instance().createAlgorithm("CutMD");
+    algCutMD->initialize();
+    algCutMD->setRethrows(true);
+    algCutMD->setProperty("InputWorkspace", sharedWSName);
+    algCutMD->setProperty("OutputWorkspace", wsName);
+    algCutMD->setProperty("P1Bin", "0.1");
+    algCutMD->setProperty("P2Bin", "0.1");
+    algCutMD->setProperty("P3Bin", "0.1");
+    algCutMD->setProperty("CheckAxes", false);
+    algCutMD->execute();
+    TS_ASSERT(algCutMD->isExecuted());
+
+    IMDEventWorkspace_sptr outWS = 
+      AnalysisDataService::Instance().retrieveWS<IMDEventWorkspace>(wsName);
+    TS_ASSERT(outWS.get());
+
+    TS_ASSERT_EQUALS(
+        outWS->getDimension(0)->getMinimum(),
+        m_inWS->getDimension(0)->getMinimum());
+    TS_ASSERT_EQUALS(
+        outWS->getDimension(0)->getMaximum(),
+        m_inWS->getDimension(0)->getMaximum());
+    TS_ASSERT_EQUALS(
+        outWS->getDimension(1)->getMinimum(),
+        m_inWS->getDimension(1)->getMinimum());
+    TS_ASSERT_EQUALS(
+        outWS->getDimension(1)->getMaximum(),
+        m_inWS->getDimension(1)->getMaximum());
+    TS_ASSERT_EQUALS(
+        outWS->getDimension(2)->getMinimum(),
+        m_inWS->getDimension(2)->getMinimum());
+    TS_ASSERT_EQUALS(
+        outWS->getDimension(2)->getMaximum(),
+        m_inWS->getDimension(2)->getMaximum());
+
+    TS_ASSERT_EQUALS("['zeta', 0, 0]", outWS->getDimension(0)->getName());
+    TS_ASSERT_EQUALS("[0, 'eta', 0]", outWS->getDimension(1)->getName());
+    TS_ASSERT_EQUALS("[0, 0, 'xi']", outWS->getDimension(2)->getName());
+
+    AnalysisDataService::Instance().remove(wsName);
+  }
 };
 
 #endif /* MANTID_MDALGORITHMS_CUTMDTEST_H_ */
diff --git a/Code/Mantid/Framework/PythonInterface/test/python/mantid/api/CutMDTest.py b/Code/Mantid/Framework/PythonInterface/test/python/mantid/api/CutMDTest.py
index d4553be2dc64607e069aedb9ae4f599c360e67ce..695fb9aff26218593b4b67af1646a74b64bc85a8 100644
--- a/Code/Mantid/Framework/PythonInterface/test/python/mantid/api/CutMDTest.py
+++ b/Code/Mantid/Framework/PythonInterface/test/python/mantid/api/CutMDTest.py
@@ -22,21 +22,6 @@ class CutMDTest(unittest.TestCase):
     def tearDown(self):
         DeleteWorkspace(self.__in_md )
 
-    def test_slice_to_original(self):
-        out_md = CutMD(self.__in_md, P1Bin=[0.1], P2Bin=[0.1], P3Bin=[0.1], CheckAxes=False)
-        self.assertTrue(isinstance(out_md, IMDEventWorkspace), "Should default to producing an IMDEventWorkspace.")
-        # No rotation. Basis vectors should have been left the same, so no extent changes.
-        self.assertEquals(self.__in_md.getDimension(0).getMinimum(), out_md.getDimension(0).getMinimum())
-        self.assertEquals(self.__in_md.getDimension(0).getMaximum(), out_md.getDimension(0).getMaximum())
-        self.assertEquals(self.__in_md.getDimension(1).getMinimum(), out_md.getDimension(1).getMinimum())
-        self.assertEquals(self.__in_md.getDimension(1).getMaximum(), out_md.getDimension(1).getMaximum())
-        self.assertEquals(self.__in_md.getDimension(2).getMinimum(), out_md.getDimension(2).getMinimum())
-        self.assertEquals(self.__in_md.getDimension(2).getMaximum(), out_md.getDimension(2).getMaximum())
-        self.assertEquals("['zeta', 0, 0]",  out_md.getDimension(0).getName() )
-        self.assertEquals("[0, 'eta', 0]",  out_md.getDimension(1).getName() )
-        self.assertEquals("[0, 0, 'xi']",  out_md.getDimension(2).getName() )
-        self.assertTrue(isinstance(out_md, IMDEventWorkspace), "nopix defaults to True. Should get an IMDEventWorkspace")
-        
     def test_recalculate_extents_with_3_bin_arguments(self):
         out_md = CutMD(self.__in_md, P1Bin=[0, 0.3, 0.8], P2Bin=[0.1], P3Bin=[0.1], CheckAxes=False, NoPix=True)
         dim = out_md.getDimension(0)