diff --git a/Framework/Algorithms/src/SumRowColumn.cpp b/Framework/Algorithms/src/SumRowColumn.cpp
index 66e578e3126941a00c58ac75af3b96845504428f..5ff53bd2fe9611a6564f83051153dfca02370072 100644
--- a/Framework/Algorithms/src/SumRowColumn.cpp
+++ b/Framework/Algorithms/src/SumRowColumn.cpp
@@ -81,7 +81,7 @@ void SumRowColumn::exec() {
   MatrixWorkspace_sptr outputWS =
       WorkspaceFactory::Instance().create(integratedWS, 1, dim, dim);
   // Remove the unit
-  outputWS->getAxis(0)->unit().reset();
+  outputWS->getAxis(0)->unit().reset(new Mantid::Kernel::Units::Empty);
 
   // Get references to the vectors for the results
   MantidVec &X = outputWS->dataX(0);
diff --git a/Framework/Algorithms/test/SumRowColumnTest.h b/Framework/Algorithms/test/SumRowColumnTest.h
index f95c504cbefd635c882dc1fb4c2333cd530f6aac..448dd5562555e4dc317028880937d0a517fdd848 100644
--- a/Framework/Algorithms/test/SumRowColumnTest.h
+++ b/Framework/Algorithms/test/SumRowColumnTest.h
@@ -63,7 +63,9 @@ public:
     TS_ASSERT_EQUALS(output->readE(0)[1], 0)
     TS_ASSERT_EQUALS(output->readE(0)[9], 0)
 
-    TS_ASSERT(!output->getAxis(0)->unit())
+    TSM_ASSERT("Should have an empty unit",
+               boost::dynamic_pointer_cast<Mantid::Kernel::Units::Empty>(
+                   output->getAxis(0)->unit()))
   }
 
   void testVertical() {