diff --git a/Framework/MDAlgorithms/test/CompactMDTest.h b/Framework/MDAlgorithms/test/CompactMDTest.h
index 515b9bb6a7cb520fc0a27194b348776a7da202ff..57f5d98cc606dd9a9d453108a10593edaf1d4170 100644
--- a/Framework/MDAlgorithms/test/CompactMDTest.h
+++ b/Framework/MDAlgorithms/test/CompactMDTest.h
@@ -216,6 +216,25 @@ public:
                       outputWorkspace->getDimension(0)->getBinWidth(),
                       inWS->getDimension(0)->getBinWidth());
   }
+  void test_compact_md_throws_when_loading_empty_workspace() {
+    using namespace Mantid::DataObjects;
+    const size_t numDims = 1;
+    const double signal = 0.0;
+    const double errorSquared = 1.3;
+    size_t numBins[static_cast<int>(numDims)] = {3};
+    Mantid::coord_t min[static_cast<int>(numDims)] = {-3};
+    Mantid::coord_t max[static_cast<int>(numDims)] = {3};
+    const std::string name("test");
+    auto inWS = MDEventsTestHelper::makeFakeMDHistoWorkspaceGeneral(
+        numDims, signal, errorSquared, numBins, min, max, name);
+    CompactMD alg;
+    alg.setChild(true);
+    alg.setRethrows(true);
+    alg.initialize();
+    alg.setProperty("InputWorkspace", inWS);
+    alg.setProperty("OutputWorkspace", "out");
+    TS_ASSERT_THROWS(alg.execute(), std::invalid_argument);
+  }
 };
 //===================
 // Performance Tests