diff --git a/Code/Mantid/Framework/MDAlgorithms/src/CutMD.cpp b/Code/Mantid/Framework/MDAlgorithms/src/CutMD.cpp
index f98f2f0d3b8a4a0c1c67368a91751db4d368ed02..f1eed1174fe8f08ab1f7c3e37b1147cba56c410a 100644
--- a/Code/Mantid/Framework/MDAlgorithms/src/CutMD.cpp
+++ b/Code/Mantid/Framework/MDAlgorithms/src/CutMD.cpp
@@ -294,9 +294,13 @@ void CutMD::exec() {
   // Check Projection format
   if (haveProjection) {
     auto colNames = projection->getColumnNames();
-    if (colNames.size() != 4 || colNames[0] != "name" ||
-        colNames[1] != "value" || colNames[2] != "offset" ||
-        colNames[3] != "type")
+    if (colNames.size() != 4 ||
+        std::find(colNames.begin(), colNames.end(), "name") == colNames.end() ||
+        std::find(colNames.begin(), colNames.end(), "value") ==
+            colNames.end() ||
+        std::find(colNames.begin(), colNames.end(), "offset") ==
+            colNames.end() ||
+        std::find(colNames.begin(), colNames.end(), "type") == colNames.end())
       throw std::runtime_error(
           "Invalid Projection supplied. Please check column names.");
     if (projection->rowCount() < 3)