diff --git a/Framework/API/inc/MantidAPI/MatrixWorkspace.h b/Framework/API/inc/MantidAPI/MatrixWorkspace.h
index cd9732166f44006dbef1d8fab520333d79bd0ad6..2f7149a96084ef9ba61c6c067550231ed658662f 100644
--- a/Framework/API/inc/MantidAPI/MatrixWorkspace.h
+++ b/Framework/API/inc/MantidAPI/MatrixWorkspace.h
@@ -356,7 +356,7 @@ public:
 
   /// Are the Y-values dimensioned?
   const bool &isDistribution() const;
-  bool &isDistribution(bool newValue);
+  void setDistribution(bool newValue);
 
   /// Mask a given workspace index, setting the data and error values to zero
   void maskWorkspaceIndex(const std::size_t index);
diff --git a/Framework/API/src/MatrixWorkspace.cpp b/Framework/API/src/MatrixWorkspace.cpp
index 28fa8d7e3b315a985b8a523c79c0b3361c958272..7ea93d38c1f176b0ad16441d3cad0fa423edabf3 100644
--- a/Framework/API/src/MatrixWorkspace.cpp
+++ b/Framework/API/src/MatrixWorkspace.cpp
@@ -939,9 +939,8 @@ const bool &MatrixWorkspace::isDistribution() const { return m_isDistribution; }
 /** Set the flag for whether the Y-values are dimensioned
 *  @return whether workspace is now a distribution
 */
-bool &MatrixWorkspace::isDistribution(bool newValue) {
+void MatrixWorkspace::setDistribution(bool newValue) {
   m_isDistribution = newValue;
-  return m_isDistribution;
 }
 
 /**
diff --git a/Framework/API/src/WorkspaceFactory.cpp b/Framework/API/src/WorkspaceFactory.cpp
index 4ae9ab3febad1f95a23d68e71ec2894c7fcc89d2..043b7e054c20c272edcc15a47a6de04f7d529e12 100644
--- a/Framework/API/src/WorkspaceFactory.cpp
+++ b/Framework/API/src/WorkspaceFactory.cpp
@@ -103,7 +103,7 @@ void WorkspaceFactoryImpl::initializeFromParent(
   child->m_run = parent->m_run;
   child->setYUnit(parent->m_YUnit);
   child->setYUnitLabel(parent->m_YUnitLabel);
-  child->isDistribution(parent->isDistribution());
+  child->setDistribution(parent->isDistribution());
 
   // Only copy the axes over if new sizes are not given
   if (!differentSize) {
diff --git a/Framework/API/src/WorkspaceOpOverloads.cpp b/Framework/API/src/WorkspaceOpOverloads.cpp
index 01a118d2fc6afce23b99398f0c2a109bb106944b..8275290d42e6105e997775e8e2bf6af16322aca9 100644
--- a/Framework/API/src/WorkspaceOpOverloads.cpp
+++ b/Framework/API/src/WorkspaceOpOverloads.cpp
@@ -576,7 +576,7 @@ void WorkspaceHelpers::makeDistribution(MatrixWorkspace_sptr workspace,
                      std::multiplies<double>());
     }
   }
-  workspace->isDistribution(forwards);
+  workspace->setDistribution(forwards);
 }
 
 } // namespace API
diff --git a/Framework/API/test/MatrixWorkspaceTest.h b/Framework/API/test/MatrixWorkspaceTest.h
index 4d9397db01ca6c5fe0f332769ea178f5d37a1849..629964512bd73e706fab2475d13e290352e45d8c 100644
--- a/Framework/API/test/MatrixWorkspaceTest.h
+++ b/Framework/API/test/MatrixWorkspaceTest.h
@@ -188,7 +188,7 @@ public:
 
   void testIsDistribution() {
     TS_ASSERT(!ws->isDistribution());
-    TS_ASSERT(ws->isDistribution(true));
+    ws->setDistribution(true);
     TS_ASSERT(ws->isDistribution());
   }
 
diff --git a/Framework/API/test/RawCountValidatorTest.h b/Framework/API/test/RawCountValidatorTest.h
index 5b8692dcb0d23081a011b69607ffee2fcea4a846..56fd60ab672ab7e6625dbee15931d8067ee3f646 100644
--- a/Framework/API/test/RawCountValidatorTest.h
+++ b/Framework/API/test/RawCountValidatorTest.h
@@ -25,7 +25,7 @@ public:
 
   void test_fail() {
     auto ws = boost::make_shared<WorkspaceTester>();
-    ws->isDistribution(true);
+    ws->setDistribution(true);
     RawCountValidator validator;
     TS_ASSERT_EQUALS(
         validator.isValid(ws),
diff --git a/Framework/Algorithms/src/AbsorptionCorrection.cpp b/Framework/Algorithms/src/AbsorptionCorrection.cpp
index 0bb8ba0e65149e7e67bd1c430df9dbf9d0274a69..ac2175138842611687a67e239d6f3592ba69c220 100644
--- a/Framework/Algorithms/src/AbsorptionCorrection.cpp
+++ b/Framework/Algorithms/src/AbsorptionCorrection.cpp
@@ -102,7 +102,7 @@ void AbsorptionCorrection::exec() {
   // Create the output workspace
   MatrixWorkspace_sptr correctionFactors =
       WorkspaceFactory::Instance().create(m_inputWS);
-  correctionFactors->isDistribution(
+  correctionFactors->setDistribution(
       true);                       // The output of this is a distribution
   correctionFactors->setYUnit(""); // Need to explicitly set YUnit to nothing
   correctionFactors->setYUnitLabel("Attenuation factor");
diff --git a/Framework/Algorithms/src/CalculateTransmissionBeamSpreader.cpp b/Framework/Algorithms/src/CalculateTransmissionBeamSpreader.cpp
index 982b71e54a6f47fc6df547679623a0a01a0c84b9..5945aa988c84e7705a0ea81ff687bc6dd530e19e 100644
--- a/Framework/Algorithms/src/CalculateTransmissionBeamSpreader.cpp
+++ b/Framework/Algorithms/src/CalculateTransmissionBeamSpreader.cpp
@@ -163,7 +163,7 @@ void CalculateTransmissionBeamSpreader::exec() {
   MatrixWorkspace_sptr spreader_trans =
       WorkspaceFactory::Instance().create("WorkspaceSingleValue", 1, 1, 1);
   spreader_trans->setYUnit("");
-  spreader_trans->isDistribution(true);
+  spreader_trans->setDistribution(true);
   spreader_trans->dataX(0)[0] = 0.0;
   spreader_trans->dataY(0)[0] = getProperty("SpreaderTransmissionValue");
   spreader_trans->dataE(0)[0] = getProperty("SpreaderTransmissionError");
diff --git a/Framework/Algorithms/src/CreateWorkspace.cpp b/Framework/Algorithms/src/CreateWorkspace.cpp
index e3f866d844dbbd90261339c13b232226322bb80a..214fd2f8b6ce420f4d3043e9be763d559ac321da 100644
--- a/Framework/Algorithms/src/CreateWorkspace.cpp
+++ b/Framework/Algorithms/src/CreateWorkspace.cpp
@@ -236,7 +236,7 @@ void CreateWorkspace::exec() {
   }
 
   // Set distribution flag
-  outputWS->isDistribution(getProperty("Distribution"));
+  outputWS->setDistribution(getProperty("Distribution"));
 
   // Set Y Unit label
   if (!parentWS || !getPropertyValue("YUnitLabel").empty()) {
diff --git a/Framework/Algorithms/src/DiffractionFocussing.cpp b/Framework/Algorithms/src/DiffractionFocussing.cpp
index d301f679fccbfedab6f0056152e82aa074314a8b..c8d82a0561595bddc2e9b6d6eb59092137ccffd8 100644
--- a/Framework/Algorithms/src/DiffractionFocussing.cpp
+++ b/Framework/Algorithms/src/DiffractionFocussing.cpp
@@ -153,7 +153,7 @@ void DiffractionFocussing::exec() {
 
   progress(1.);
 
-  outputW->isDistribution(dist);
+  outputW->setDistribution(dist);
 
   // Assign it to the output workspace property
   setProperty("OutputWorkspace", outputW);
diff --git a/Framework/Algorithms/src/Divide.cpp b/Framework/Algorithms/src/Divide.cpp
index 52331778be825bfaa8fb1a9c354e1fe63b4b9132..5895f2c644d5611fd661bb402ae6fec12b80239f 100644
--- a/Framework/Algorithms/src/Divide.cpp
+++ b/Framework/Algorithms/src/Divide.cpp
@@ -95,7 +95,7 @@ void Divide::setOutputUnits(const API::MatrixWorkspace_const_sptr lhs,
   // dimensionless
   else if (lhs->YUnit() == rhs->YUnit() && rhs->blocksize() > 1) {
     out->setYUnit("");
-    out->isDistribution(true);
+    out->setDistribution(true);
   }
   // Else we need to set the unit that results from the division
   else {
diff --git a/Framework/Algorithms/src/Exponential.cpp b/Framework/Algorithms/src/Exponential.cpp
index 38d669a2e13fd568ff9e7a1f3b41779d2741552b..28a3dd14e9771bbd9f38417ea9172e30a1db3f0c 100644
--- a/Framework/Algorithms/src/Exponential.cpp
+++ b/Framework/Algorithms/src/Exponential.cpp
@@ -32,7 +32,7 @@ distribution
   if ( lhs->YUnit().empty() )
   {
     out->setYUnit("");
-    out->isDistribution(false); // might be, maybe not?
+    out->setDistribution(false); // might be, maybe not?
   }
   // Else units are questionable...
   else
diff --git a/Framework/Algorithms/src/Integration.cpp b/Framework/Algorithms/src/Integration.cpp
index 2b12f2a2f53d0e58fb7b2ef0aa0882d4a69ef23b..ecf832721d8436d8832cbb973a1c801dcec760b6 100644
--- a/Framework/Algorithms/src/Integration.cpp
+++ b/Framework/Algorithms/src/Integration.cpp
@@ -326,7 +326,7 @@ MatrixWorkspace_sptr Integration::getInputWorkspace() {
     alg->setProperty("OutputWorkspace", outName);
     alg->executeAsChildAlg();
     temp = alg->getProperty("OutputWorkspace");
-    temp->isDistribution(true);
+    temp->setDistribution(true);
   }
 
   return temp;
diff --git a/Framework/Algorithms/src/InterpolatingRebin.cpp b/Framework/Algorithms/src/InterpolatingRebin.cpp
index fa214904e2484981cd150f1e87a477543a9034a1..4b3bac6df13f65317990b48eee8e8ca596f12391 100644
--- a/Framework/Algorithms/src/InterpolatingRebin.cpp
+++ b/Framework/Algorithms/src/InterpolatingRebin.cpp
@@ -73,7 +73,7 @@ void InterpolatingRebin::exec() {
   // Copy over the 'vertical' axis
   if (inputW->axes() > 1)
     outputW->replaceAxis(1, inputW->getAxis(1)->clone(outputW.get()));
-  outputW->isDistribution(true);
+  outputW->setDistribution(true);
 
   // this calculation requires a distribution workspace but deal with the
   // situation when we don't get this
@@ -105,7 +105,7 @@ void InterpolatingRebin::exec() {
     // non-distribution workspace they maybe not expect it, so convert back to
     // the same form that was given
     WorkspaceHelpers::makeDistribution(outputW, false);
-    outputW->isDistribution(false);
+    outputW->setDistribution(false);
   }
 
   // Now propagate any masking correctly to the output workspace
diff --git a/Framework/Algorithms/src/MonteCarloAbsorption.cpp b/Framework/Algorithms/src/MonteCarloAbsorption.cpp
index 8a8576340e02cf19d1e9b96fb922be9f9f8bab77..ec78df19ef1d1970c541489715558ddfee27ffb1 100644
--- a/Framework/Algorithms/src/MonteCarloAbsorption.cpp
+++ b/Framework/Algorithms/src/MonteCarloAbsorption.cpp
@@ -233,7 +233,7 @@ MatrixWorkspace_sptr MonteCarloAbsorption::createOutputWorkspace(
   MatrixWorkspace_sptr outputWS = inputWS.clone();
   // The algorithm computes the signal values at bin centres so they should
   // be treated as a distribution
-  outputWS->isDistribution(true);
+  outputWS->setDistribution(true);
   outputWS->setYUnit("");
   outputWS->setYUnitLabel("Attenuation factor");
   return outputWS;
diff --git a/Framework/Algorithms/src/Multiply.cpp b/Framework/Algorithms/src/Multiply.cpp
index 2cab01149b633e6c8cad9ee4e50af6a510e45f05..0e147c100df1007574c564473fad0baa82518cb1 100644
--- a/Framework/Algorithms/src/Multiply.cpp
+++ b/Framework/Algorithms/src/Multiply.cpp
@@ -64,7 +64,7 @@ void Multiply::setOutputUnits(const API::MatrixWorkspace_const_sptr lhs,
                               const API::MatrixWorkspace_const_sptr rhs,
                               API::MatrixWorkspace_sptr out) {
   if (!lhs->isDistribution() || !rhs->isDistribution())
-    out->isDistribution(false);
+    out->setDistribution(false);
 }
 
 // ===================================== EVENT LIST BINARY OPERATIONS
diff --git a/Framework/Algorithms/src/PointByPointVCorrection.cpp b/Framework/Algorithms/src/PointByPointVCorrection.cpp
index 19d2ca233541573756b355beb97851cf12e4aee9..ed41d31820eaa41c176cd213a2e7bf198db81c45 100644
--- a/Framework/Algorithms/src/PointByPointVCorrection.cpp
+++ b/Framework/Algorithms/src/PointByPointVCorrection.cpp
@@ -135,7 +135,7 @@ void PointByPointVCorrection::exec() {
   PARALLEL_CHECK_INTERUPT_REGION
 
   outputWS->setYUnitLabel("Counts normalised to a vanadium");
-  outputWS->isDistribution(false);
+  outputWS->setDistribution(false);
 }
 
 /** Checks that the axes of the input workspaces match and creates the output
diff --git a/Framework/Algorithms/src/Q1D2.cpp b/Framework/Algorithms/src/Q1D2.cpp
index 23a6817f317256c0c3a7cc35f6d983761def8a2e..a1d94b992e713826a14cbb7b391c90a5f468b001 100644
--- a/Framework/Algorithms/src/Q1D2.cpp
+++ b/Framework/Algorithms/src/Q1D2.cpp
@@ -345,7 +345,7 @@ Q1D2::setUpOutputWorkspace(const std::vector<double> &binParams) const {
 
   // Set the X vector for the output workspace
   outputWS->setX(0, XOut);
-  outputWS->isDistribution(true);
+  outputWS->setDistribution(true);
 
   outputWS->getSpectrum(0)->clearDetectorIDs();
   outputWS->getSpectrum(0)->setSpectrumNo(1);
diff --git a/Framework/Algorithms/src/Q1DWeighted.cpp b/Framework/Algorithms/src/Q1DWeighted.cpp
index da248e4c6d6cb720b40e0918c323914c521cbd91..a466e36fe71532135e4bd6d348374beeafaf8ccb 100644
--- a/Framework/Algorithms/src/Q1DWeighted.cpp
+++ b/Framework/Algorithms/src/Q1DWeighted.cpp
@@ -104,7 +104,7 @@ void Q1DWeighted::exec() {
   outputWS->getAxis(0)->unit() =
       UnitFactory::Instance().create("MomentumTransfer");
   outputWS->setYUnitLabel("1/cm");
-  outputWS->isDistribution(true);
+  outputWS->setDistribution(true);
   setProperty("OutputWorkspace", outputWS);
 
   // Set the X vector for the output workspace
@@ -148,7 +148,7 @@ void Q1DWeighted::exec() {
     wedge_ws->getAxis(0)->unit() =
         UnitFactory::Instance().create("MomentumTransfer");
     wedge_ws->setYUnitLabel("1/cm");
-    wedge_ws->isDistribution(true);
+    wedge_ws->setDistribution(true);
     wedge_ws->setX(0, XOut);
     wedge_ws->mutableRun().addProperty("wedge_angle", center_angle, "degrees",
                                        true);
diff --git a/Framework/Algorithms/src/Qxy.cpp b/Framework/Algorithms/src/Qxy.cpp
index 36b5f0079b230798b4f4db68968722822f86d2e5..67a51ffd351bb6ab96b914a9d7618e7af0702f92 100644
--- a/Framework/Algorithms/src/Qxy.cpp
+++ b/Framework/Algorithms/src/Qxy.cpp
@@ -321,7 +321,7 @@ void Qxy::exec() {
 
   // Divide the output data by the solid angles
   outputWorkspace /= weights;
-  outputWorkspace->isDistribution(true);
+  outputWorkspace->setDistribution(true);
 
   // Count of the number of empty cells
   const size_t nhist = outputWorkspace->getNumberHistograms();
diff --git a/Framework/Algorithms/src/Rebin.cpp b/Framework/Algorithms/src/Rebin.cpp
index 4a7d10f578c069277351d20f513cf3687126fa15..9debfa4ced15966f0f87e63f493375eca0da83f8 100644
--- a/Framework/Algorithms/src/Rebin.cpp
+++ b/Framework/Algorithms/src/Rebin.cpp
@@ -270,7 +270,7 @@ void Rebin::exec() {
       PARALLEL_END_INTERUPT_REGION
     }
     PARALLEL_CHECK_INTERUPT_REGION
-    outputWS->isDistribution(dist);
+    outputWS->setDistribution(dist);
 
     // Now propagate any masking correctly to the output workspace
     // More efficient to have this in a separate loop because
diff --git a/Framework/Algorithms/src/Rebunch.cpp b/Framework/Algorithms/src/Rebunch.cpp
index 583595cfdb4a86b106045962491d3a45f6b2015e..9598a43c62631b480dbc989953e8ac6160a25095 100644
--- a/Framework/Algorithms/src/Rebunch.cpp
+++ b/Framework/Algorithms/src/Rebunch.cpp
@@ -109,7 +109,7 @@ void Rebunch::exec() {
     PARALLEL_END_INTERUPT_REGION
   }
   PARALLEL_CHECK_INTERUPT_REGION
-  outputW->isDistribution(dist);
+  outputW->setDistribution(dist);
 
   // Copy units
   if (outputW->getAxis(0)->unit().get())
diff --git a/Framework/Algorithms/src/Regroup.cpp b/Framework/Algorithms/src/Regroup.cpp
index 18a98b028b82fcfbcd887cbf5bf718fb75104fdf..e3a01f68d5f316efcc642cd23f8c5c10078ac3c9 100644
--- a/Framework/Algorithms/src/Regroup.cpp
+++ b/Framework/Algorithms/src/Regroup.cpp
@@ -100,7 +100,7 @@ void Regroup::exec() {
     }
   }
 
-  outputW->isDistribution(dist);
+  outputW->setDistribution(dist);
 
   // Copy units
   if (outputW->getAxis(0)->unit().get())
diff --git a/Framework/Algorithms/src/ResampleX.cpp b/Framework/Algorithms/src/ResampleX.cpp
index de560521628b1713aab6e0a227d407976f63d7a1..1d92bc47dbc373bfae63b75bef91aff1de06c99c 100644
--- a/Framework/Algorithms/src/ResampleX.cpp
+++ b/Framework/Algorithms/src/ResampleX.cpp
@@ -487,7 +487,7 @@ void ResampleX::exec() {
       PARALLEL_END_INTERUPT_REGION
     }
     PARALLEL_CHECK_INTERUPT_REGION
-    outputWS->isDistribution(m_isDistribution);
+    outputWS->setDistribution(m_isDistribution);
 
     // Now propagate any masking correctly to the output workspace
     // More efficient to have this in a separate loop because
diff --git a/Framework/Algorithms/src/SolidAngle.cpp b/Framework/Algorithms/src/SolidAngle.cpp
index 3e5e9e4c51d324277da78343c4dc1384e1d4a23e..35daff9e71cd228e70b0d3a551a2dd5091b6989f 100644
--- a/Framework/Algorithms/src/SolidAngle.cpp
+++ b/Framework/Algorithms/src/SolidAngle.cpp
@@ -83,7 +83,7 @@ void SolidAngle::exec() {
   API::MatrixWorkspace_sptr outputWS = WorkspaceFactory::Instance().create(
       inputWS, m_MaxSpec - m_MinSpec + 1, 2, 1);
   // The result of this will be a distribution
-  outputWS->isDistribution(true);
+  outputWS->setDistribution(true);
   outputWS->setYUnit("");
   outputWS->setYUnitLabel("Steradian");
   setProperty("OutputWorkspace", outputWS);
diff --git a/Framework/Algorithms/src/SphericalAbsorption.cpp b/Framework/Algorithms/src/SphericalAbsorption.cpp
index c5bd056c239e0e8dbb292d9d69310018c57f0f22..254cbaab7a35f5cdc7e00546ba369e708c2a427b 100644
--- a/Framework/Algorithms/src/SphericalAbsorption.cpp
+++ b/Framework/Algorithms/src/SphericalAbsorption.cpp
@@ -75,7 +75,7 @@ void SphericalAbsorption::exec() {
   // Create the output workspace
   MatrixWorkspace_sptr correctionFactors =
       WorkspaceFactory::Instance().create(m_inputWS);
-  correctionFactors->isDistribution(
+  correctionFactors->setDistribution(
       true);                       // The output of this is a distribution
   correctionFactors->setYUnit(""); // Need to explicitly set YUnit to nothing
   correctionFactors->setYUnitLabel("Attenuation factor");
diff --git a/Framework/Algorithms/test/ChangeBinOffsetTest.h b/Framework/Algorithms/test/ChangeBinOffsetTest.h
index 1b6336b0871225722574cf6a048d43baf095b4d5..bb42aafb3b8828fd3a969172da9b50be0d9bb387 100644
--- a/Framework/Algorithms/test/ChangeBinOffsetTest.h
+++ b/Framework/Algorithms/test/ChangeBinOffsetTest.h
@@ -27,7 +27,7 @@ public:
     offsetStr << offset;
 
     Workspace2D_sptr input = makeDummyWorkspace2D();
-    input->isDistribution(true);
+    input->setDistribution(true);
     AnalysisDataService::Instance().add("input2D", input);
 
     ChangeBinOffset alg2D;
diff --git a/Framework/Algorithms/test/CheckWorkspacesMatchTest.h b/Framework/Algorithms/test/CheckWorkspacesMatchTest.h
index f1ca5209b3e05c520d568bbb0fa94e88a9bc2a16..af1130ab0eb4bea6cbc54f94bd6e20a0a928b703 100644
--- a/Framework/Algorithms/test/CheckWorkspacesMatchTest.h
+++ b/Framework/Algorithms/test/CheckWorkspacesMatchTest.h
@@ -577,7 +577,7 @@ public:
 
     Mantid::API::MatrixWorkspace_sptr ws2 =
         WorkspaceCreationHelper::Create2DWorkspace123(2, 2);
-    ws2->isDistribution(true);
+    ws2->setDistribution(true);
 
     TS_ASSERT_THROWS_NOTHING(checker.setProperty("Workspace1", ws1));
     TS_ASSERT_THROWS_NOTHING(checker.setProperty("Workspace2", ws2));
diff --git a/Framework/Algorithms/test/CompareWorkspacesTest.h b/Framework/Algorithms/test/CompareWorkspacesTest.h
index 52b117f59baa4b5c5890a99b0e4b38a725ece663..869ce1fb0a1b0965ceef3c9d9d28afff6d3a11f6 100644
--- a/Framework/Algorithms/test/CompareWorkspacesTest.h
+++ b/Framework/Algorithms/test/CompareWorkspacesTest.h
@@ -565,7 +565,7 @@ public:
 
     Mantid::API::MatrixWorkspace_sptr ws2 =
         WorkspaceCreationHelper::Create2DWorkspace123(2, 2);
-    ws2->isDistribution(true);
+    ws2->setDistribution(true);
 
     TS_ASSERT_THROWS_NOTHING(checker.setProperty("Workspace1", ws1));
     TS_ASSERT_THROWS_NOTHING(checker.setProperty("Workspace2", ws2));
diff --git a/Framework/Algorithms/test/ConvertFromDistributionTest.h b/Framework/Algorithms/test/ConvertFromDistributionTest.h
index a9182f9f742fbcdd449a2edaa5ff7cdecbf27f50..a9073b090f020ae4cff92a7938850e38c75d761a 100644
--- a/Framework/Algorithms/test/ConvertFromDistributionTest.h
+++ b/Framework/Algorithms/test/ConvertFromDistributionTest.h
@@ -20,7 +20,7 @@ public:
   ConvertFromDistributionTest() : dist("dist") {
     MatrixWorkspace_sptr WS =
         WorkspaceCreationHelper::Create2DWorkspaceBinned(1, 10, 0, 0.5);
-    WS->isDistribution(true);
+    WS->setDistribution(true);
     AnalysisDataService::Instance().add(dist, WS);
   }
 
diff --git a/Framework/Algorithms/test/IQTransformTest.h b/Framework/Algorithms/test/IQTransformTest.h
index e5387b2e62de7bbe613f3ddc5daa42e80c07760f..e6eb6943def48ff52d1f28a271a0e3e28d76fb9b 100644
--- a/Framework/Algorithms/test/IQTransformTest.h
+++ b/Framework/Algorithms/test/IQTransformTest.h
@@ -20,13 +20,13 @@ public:
     inWS_hist = WorkspaceCreationHelper::Create2DWorkspaceBinned(1, 2);
     inWS_hist->getAxis(0)->unit() =
         Mantid::Kernel::UnitFactory::Instance().create("MomentumTransfer");
-    inWS_hist->isDistribution(true);
+    inWS_hist->setDistribution(true);
 
     inWS_point = WorkspaceCreationHelper::Create2DWorkspace154(1, 1);
     inWS_point->dataX(0)[0] = 3.0; // 1 is not a good number to test with
     inWS_point->getAxis(0)->unit() =
         Mantid::Kernel::UnitFactory::Instance().create("MomentumTransfer");
-    inWS_point->isDistribution(true);
+    inWS_point->setDistribution(true);
   }
 
   ~IQTransformTest() override {
diff --git a/Framework/Algorithms/test/IntegrationTest.h b/Framework/Algorithms/test/IntegrationTest.h
index cc50e89550586a26e153f0037357671cd0098db6..cefb6cae1c8405ef97f44aaab010e681de331cdc 100644
--- a/Framework/Algorithms/test/IntegrationTest.h
+++ b/Framework/Algorithms/test/IntegrationTest.h
@@ -193,7 +193,7 @@ public:
     TS_ASSERT_THROWS_NOTHING(
         input = AnalysisDataService::Instance().retrieve("testSpace"));
     Workspace2D_sptr input2D = boost::dynamic_pointer_cast<Workspace2D>(output);
-    input2D->isDistribution(true);
+    input2D->setDistribution(true);
     // Replace workspace
     AnalysisDataService::Instance().addOrReplace("testSpace", input2D);
 
diff --git a/Framework/Algorithms/test/InterpolatingRebinTest.h b/Framework/Algorithms/test/InterpolatingRebinTest.h
index b0aef3160a1de60461118a80f32a8a157436fc64..941e798b1979bd42d21ba194f8712c2526ede8de 100644
--- a/Framework/Algorithms/test/InterpolatingRebinTest.h
+++ b/Framework/Algorithms/test/InterpolatingRebinTest.h
@@ -19,7 +19,7 @@ class InterpolatingRebinTest : public CxxTest::TestSuite {
 public:
   void testWorkspace_dist() {
     Workspace2D_sptr test_in1D = Create1DData();
-    test_in1D->isDistribution(true);
+    test_in1D->setDistribution(true);
     AnalysisDataService::Instance().add("InterpolatingRebinTest_indist",
                                         test_in1D);
 
@@ -96,7 +96,7 @@ public:
   void testWorkspace_nondist() {
 
     Workspace2D_sptr test_in1D = Create1DData();
-    test_in1D->isDistribution(false);
+    test_in1D->setDistribution(false);
     AnalysisDataService::Instance().add("InterpolatingRebinTest_in_nondist",
                                         test_in1D);
 
@@ -161,7 +161,7 @@ public:
 
   void testWorkspace_close() {
     Workspace2D_sptr test_in1D = Create1DData();
-    test_in1D->isDistribution(true);
+    test_in1D->setDistribution(true);
     AnalysisDataService::Instance().add("InterpolatingRebinTest_inclose",
                                         test_in1D);
 
@@ -206,7 +206,7 @@ public:
   void testNullDataHandling() {
 
     Workspace2D_sptr test_in1D = badData();
-    test_in1D->isDistribution(true);
+    test_in1D->setDistribution(true);
     AnalysisDataService::Instance().add("InterpolatingRebinTest_in_nulldata",
                                         test_in1D);
 
diff --git a/Framework/Algorithms/test/RebinTest.h b/Framework/Algorithms/test/RebinTest.h
index 867575f015166569ab8c06d37236feda31f19a64..586e3286492c620d979738545b3cc9ff71c5084e 100644
--- a/Framework/Algorithms/test/RebinTest.h
+++ b/Framework/Algorithms/test/RebinTest.h
@@ -38,7 +38,7 @@ public:
 
   void testworkspace1D_dist() {
     Workspace2D_sptr test_in1D = Create1DWorkspace(50);
-    test_in1D->isDistribution(true);
+    test_in1D->setDistribution(true);
     AnalysisDataService::Instance().add("test_in1D", test_in1D);
 
     Rebin rebin;
@@ -110,7 +110,7 @@ public:
 
   void testworkspace1D_logarithmic_binning() {
     Workspace2D_sptr test_in1D = Create1DWorkspace(50);
-    test_in1D->isDistribution(true);
+    test_in1D->setDistribution(true);
     AnalysisDataService::Instance().add("test_in1D", test_in1D);
 
     Rebin rebin;
@@ -144,7 +144,7 @@ public:
 
   void testworkspace2D_dist() {
     Workspace2D_sptr test_in2D = Create2DWorkspace(50, 20);
-    test_in2D->isDistribution(true);
+    test_in2D->setDistribution(true);
     AnalysisDataService::Instance().add("test_in2D", test_in2D);
 
     Rebin rebin;
@@ -341,7 +341,7 @@ public:
   void testMaskedBinsDist() {
     Workspace2D_sptr test_in1D = Create1DWorkspace(50);
     AnalysisDataService::Instance().add("test_Rebin_mask_dist", test_in1D);
-    test_in1D->isDistribution(true);
+    test_in1D->setDistribution(true);
     maskFirstBins("test_Rebin_mask_dist", "test_Rebin_masked_ws", 10.0);
 
     Rebin rebin;
@@ -395,7 +395,7 @@ public:
 
   void testMaskedBinsIntegratedCounts() {
     Workspace2D_sptr test_in1D = Create1DWorkspace(51);
-    test_in1D->isDistribution(false);
+    test_in1D->setDistribution(false);
     AnalysisDataService::Instance().add("test_Rebin_mask_raw", test_in1D);
 
     Rebin rebin;
diff --git a/Framework/Algorithms/test/RebunchTest.h b/Framework/Algorithms/test/RebunchTest.h
index e7087254b6ab0eeb4446f144d7e984fad3e5c50a..10a197ccd0ff7320b563496d89b31a13b5e48c95 100644
--- a/Framework/Algorithms/test/RebunchTest.h
+++ b/Framework/Algorithms/test/RebunchTest.h
@@ -80,7 +80,7 @@ public:
 
   void testworkspace2D_dist() {
     Workspace2D_sptr test_in2D = Create2DWorkspaceHist(50, 20);
-    test_in2D->isDistribution(true);
+    test_in2D->setDistribution(true);
     AnalysisDataService::Instance().add("test_in2D", test_in2D);
 
     Rebunch rebunch;
diff --git a/Framework/Algorithms/test/RegroupTest.h b/Framework/Algorithms/test/RegroupTest.h
index d8138f79d579349000bebf2feedfb89c4e7fba87..99ed5883427f14778ed3f0f7528eb731bdb603e2 100644
--- a/Framework/Algorithms/test/RegroupTest.h
+++ b/Framework/Algorithms/test/RegroupTest.h
@@ -17,7 +17,7 @@ class RegroupTest : public CxxTest::TestSuite {
 public:
   void testworkspace1D_dist() {
     Workspace2D_sptr test_in1D = Create1DWorkspace(50);
-    test_in1D->isDistribution(true);
+    test_in1D->setDistribution(true);
     AnalysisDataService::Instance().add("test_in1D", test_in1D);
 
     Regroup regroup;
diff --git a/Framework/Crystal/src/LoadIsawSpectrum.cpp b/Framework/Crystal/src/LoadIsawSpectrum.cpp
index c304c33ca2331a0f85949f63a1b2351eeea3f9a6..578dfb4c7093034b8e0ceb2524370cfe5bfafd27 100644
--- a/Framework/Crystal/src/LoadIsawSpectrum.cpp
+++ b/Framework/Crystal/src/LoadIsawSpectrum.cpp
@@ -140,7 +140,7 @@ void LoadIsawSpectrum::exec() {
   outWS->setInstrument(inst);
   outWS->getAxis(0)->setUnit("TOF");
   outWS->setYUnit("Counts");
-  outWS->isDistribution(true);
+  outWS->setDistribution(true);
   outWS->rebuildSpectraMapping(false);
 
   // Go through each point at this run / bank
diff --git a/Framework/CurveFitting/src/FitMW.cpp b/Framework/CurveFitting/src/FitMW.cpp
index 0c83e01452dcf85cfae488950d8a24c0556da622..94b4eae677d742230d6a0cc68d9a2d9911ef9a38 100644
--- a/Framework/CurveFitting/src/FitMW.cpp
+++ b/Framework/CurveFitting/src/FitMW.cpp
@@ -344,7 +344,7 @@ FitMW::createOutputWorkspace(const std::string &baseName,
   if (!boost::dynamic_pointer_cast<Mantid::API::IEventWorkspace>(
           m_matrixWorkspace)) {
     if (m_matrixWorkspace->isDistribution()) {
-      ws->isDistribution(true);
+      ws->setDistribution(true);
     }
   }
 
diff --git a/Framework/CurveFitting/src/SeqDomainSpectrumCreator.cpp b/Framework/CurveFitting/src/SeqDomainSpectrumCreator.cpp
index 07ebe7254b91e4f158233dd631d5011972b5c88c..249fb36da04ec8473db4c38cc32d8570c433733e 100644
--- a/Framework/CurveFitting/src/SeqDomainSpectrumCreator.cpp
+++ b/Framework/CurveFitting/src/SeqDomainSpectrumCreator.cpp
@@ -167,7 +167,7 @@ Workspace_sptr SeqDomainSpectrumCreator::createOutputWorkspace(
   if (!boost::dynamic_pointer_cast<Mantid::API::IEventWorkspace>(
           m_matrixWorkspace)) {
     if (m_matrixWorkspace->isDistribution()) {
-      outputWs->isDistribution(true);
+      outputWs->setDistribution(true);
     }
   }
 
diff --git a/Framework/DataHandling/src/LoadCanSAS1D.cpp b/Framework/DataHandling/src/LoadCanSAS1D.cpp
index 3916dedd6a711d738b58d94e4ada36e14c1ebbd0..38cc9be5d55d24baf05d9d842d0c91c7cacf3550 100644
--- a/Framework/DataHandling/src/LoadCanSAS1D.cpp
+++ b/Framework/DataHandling/src/LoadCanSAS1D.cpp
@@ -176,7 +176,7 @@ LoadCanSAS1D::loadEntry(Poco::XML::Node *const workspaceData,
   Element *titleElem = workspaceElem->getChildElement("Title");
   check(titleElem, "<Title>");
   dataWS->setTitle(titleElem->innerText());
-  dataWS->isDistribution(true);
+  dataWS->setDistribution(true);
   dataWS->setYUnit("");
 
   // load workspace data
diff --git a/Framework/DataHandling/src/LoadCanSAS1D2.cpp b/Framework/DataHandling/src/LoadCanSAS1D2.cpp
index f3029ed23b08d987d1ebb99ef45a8e1c1995880f..bb813cdea75ded67da8ff4a3210ce5f9c0491c17 100644
--- a/Framework/DataHandling/src/LoadCanSAS1D2.cpp
+++ b/Framework/DataHandling/src/LoadCanSAS1D2.cpp
@@ -179,7 +179,7 @@ LoadCanSAS1D2::loadEntry(Poco::XML::Node *const workspaceData,
     title += ":trans";
     title += sasTrasElem->getAttribute("name");
     dataWS->setTitle(title);
-    dataWS->isDistribution(true);
+    dataWS->setDistribution(true);
     dataWS->setYUnit("");
 
     // load workspace data
diff --git a/Framework/DataHandling/src/LoadDaveGrp.cpp b/Framework/DataHandling/src/LoadDaveGrp.cpp
index 0faa3e1408f36cd55df6aaf5fe60909b1733fc9d..812f1420267cd31d9ab987e8635839cbf9cf06e0 100644
--- a/Framework/DataHandling/src/LoadDaveGrp.cpp
+++ b/Framework/DataHandling/src/LoadDaveGrp.cpp
@@ -150,7 +150,7 @@ void LoadDaveGrp::exec() {
           API::WorkspaceFactory::Instance().create("Workspace2D", this->nGroups,
                                                    this->xLength, yLength));
   // Force the workspace to be a distribution
-  outputWorkspace->isDistribution(true);
+  outputWorkspace->setDistribution(true);
 
   // Set the x-axis units
   outputWorkspace->getAxis(0)->unit() =
diff --git a/Framework/DataHandling/src/LoadFITS.cpp b/Framework/DataHandling/src/LoadFITS.cpp
index 34e46e86d98dc6de239905570fc85db38d148cc0..b4ebe91098bb9e74e5baaca4f9651aa2531452b3 100644
--- a/Framework/DataHandling/src/LoadFITS.cpp
+++ b/Framework/DataHandling/src/LoadFITS.cpp
@@ -796,7 +796,7 @@ void LoadFITS::addAxesInfoAndLogs(Workspace2D_sptr ws, bool loadAsRectImg,
     unitLbl->setLabel("height", "cm");
     ws->getAxis(1)->unit() = unitLbl;
 
-    ws->isDistribution(true);
+    ws->setDistribution(true);
   } else {
     // TODO: what to do when loading 1pixel - 1 spectrum?
   }
diff --git a/Framework/DataHandling/src/LoadNexusProcessed.cpp b/Framework/DataHandling/src/LoadNexusProcessed.cpp
index 50d1c8e97af80ff92c28a258284146581e01040c..91b5eb73d744f394407a9d4395eab92c314e56dc 100644
--- a/Framework/DataHandling/src/LoadNexusProcessed.cpp
+++ b/Framework/DataHandling/src/LoadNexusProcessed.cpp
@@ -1581,9 +1581,9 @@ API::Workspace_sptr LoadNexusProcessed::loadEntry(NXRoot &root,
   // Are we a distribution
   std::string dist = xbins.attributes("distribution");
   if (dist == "1") {
-    local_workspace->isDistribution(true);
+    local_workspace->setDistribution(true);
   } else {
-    local_workspace->isDistribution(false);
+    local_workspace->setDistribution(false);
   }
 
   // Get information from all but data group
diff --git a/Framework/DataHandling/src/LoadRKH.cpp b/Framework/DataHandling/src/LoadRKH.cpp
index eede8aadd5b924fb8935932e3d645d53fb54fad6..3843f301f203ef28c12063a8568e963d047eefd4 100644
--- a/Framework/DataHandling/src/LoadRKH.cpp
+++ b/Framework/DataHandling/src/LoadRKH.cpp
@@ -188,7 +188,7 @@ void LoadRKH::exec() {
   MatrixWorkspace_sptr result = is2D(line) ? read2D(line) : read1D();
 
   // all RKH files contain distribution data
-  result->isDistribution(true);
+  result->setDistribution(true);
   // Set the output workspace
   setProperty("OutputWorkspace", result);
 }
diff --git a/Framework/DataHandling/src/LoadSPE.cpp b/Framework/DataHandling/src/LoadSPE.cpp
index 20777e9ca6db65c301a362c856899d24e535347d..4c18392bf3d1844b94a27dbb1c402a31f444df4f 100644
--- a/Framework/DataHandling/src/LoadSPE.cpp
+++ b/Framework/DataHandling/src/LoadSPE.cpp
@@ -155,7 +155,7 @@ void LoadSPE::exec() {
   MatrixWorkspace_sptr workspace = WorkspaceFactory::Instance().create(
       "Workspace2D", nhist, nbins + 1, nbins);
   workspace->getAxis(0)->unit() = UnitFactory::Instance().create("DeltaE");
-  workspace->isDistribution(true); // It should be a distribution
+  workspace->setDistribution(true); // It should be a distribution
   workspace->setYUnitLabel("S(Phi,Energy)");
   // Replace the default spectrum axis with the phi values one
   workspace->replaceAxis(1, phiAxis);
diff --git a/Framework/DataHandling/test/SaveNXSPETest.h b/Framework/DataHandling/test/SaveNXSPETest.h
index ca9b9c4387dffe933be262ffc2b47299de941040..d6e9989404133f83f2e80f292a6ea0f60a9a275c 100644
--- a/Framework/DataHandling/test/SaveNXSPETest.h
+++ b/Framework/DataHandling/test/SaveNXSPETest.h
@@ -168,7 +168,7 @@ private:
     m_Pmap->addBool(toMask.get(), "masked", true);
 
     // required to get it passed the algorthms validator
-    inputWS->isDistribution(true);
+    inputWS->setDistribution(true);
 
     return inputWS;
   }
diff --git a/Framework/DataHandling/test/SavePARTest.h b/Framework/DataHandling/test/SavePARTest.h
index 7d9571a682c597acf53a255d4ef937a166b31670..adf5c2beb36ab8a3b1bd4165ca2a6aae29eabaff 100644
--- a/Framework/DataHandling/test/SavePARTest.h
+++ b/Framework/DataHandling/test/SavePARTest.h
@@ -176,7 +176,7 @@ private:
     m_Pmap->addBool(toMask.get(), "masked", true);
 
     // required to get it passed the algorthms validator
-    inputWS->isDistribution(true);
+    inputWS->setDistribution(true);
 
     return inputWS;
   }
diff --git a/Framework/DataHandling/test/SavePHXTest.h b/Framework/DataHandling/test/SavePHXTest.h
index 0626b4c8902c2fee632f55a8e622c5326b43d672..89193fd949ba646341960072a52c00327f6a99d1 100644
--- a/Framework/DataHandling/test/SavePHXTest.h
+++ b/Framework/DataHandling/test/SavePHXTest.h
@@ -206,7 +206,7 @@ private:
     m_Pmap->addBool(toMask.get(), "masked", true);
 
     // required to get it passed the algorthms validator
-    inputWS->isDistribution(true);
+    inputWS->setDistribution(true);
 
     return inputWS;
   }
diff --git a/Framework/DataHandling/test/SaveRKHTest.h b/Framework/DataHandling/test/SaveRKHTest.h
index 6dfcf8b283101670732dfae93e7b997318fc3c58..65ad7212bb1a96957d3e1066029e36237c165985 100644
--- a/Framework/DataHandling/test/SaveRKHTest.h
+++ b/Framework/DataHandling/test/SaveRKHTest.h
@@ -46,7 +46,7 @@ public:
     // Need a test workspace to use as input
     MatrixWorkspace_sptr inputWS1 =
         WorkspaceCreationHelper::Create2DWorkspaceBinned(1, 10, 1.0);
-    inputWS1->isDistribution(true);
+    inputWS1->setDistribution(true);
 
     // Register workspace
     AnalysisDataService::Instance().add("testInputOne", inputWS1);
@@ -115,7 +115,7 @@ public:
     using namespace Mantid::API;
     MatrixWorkspace_sptr inputWS2 =
         WorkspaceCreationHelper::Create2DWorkspaceBinned(10, 1, 0.0);
-    inputWS2->isDistribution(true);
+    inputWS2->setDistribution(true);
     // Register workspace
     AnalysisDataService::Instance().add("testInputTwo", inputWS2);
 
@@ -184,7 +184,7 @@ public:
     TS_ASSERT_THROWS(testAlgorithm3.execute(), std::runtime_error);
     // Need a test workspace to use as input
     auto inputWS3 = createInputWorkspaceHistoWithXerror();
-    inputWS3->isDistribution(false);
+    inputWS3->setDistribution(false);
 
     // Register workspace
     AnalysisDataService::Instance().add("testInputThree", inputWS3);
diff --git a/Framework/DataHandling/test/SaveSPETest.h b/Framework/DataHandling/test/SaveSPETest.h
index 81ad03f6e60a99adb319b5c4114068f44741d274..f42344b45a67297e002f0c4acb73c7de6b0628d1 100644
--- a/Framework/DataHandling/test/SaveSPETest.h
+++ b/Framework/DataHandling/test/SaveSPETest.h
@@ -194,7 +194,7 @@ private:
     m_Pmap->addBool(toMask.get(), "masked", true);
 
     // required to get it passed the algorthms validator
-    inputWS->isDistribution(true);
+    inputWS->setDistribution(true);
 
     return inputWS;
   }
diff --git a/Framework/DataObjects/src/FractionalRebinning.cpp b/Framework/DataObjects/src/FractionalRebinning.cpp
index 12e113b38c04a5af53f4ec1f7d24aefc596562c3..4af9d68c202f9dc490726e2998151919458262ba 100644
--- a/Framework/DataObjects/src/FractionalRebinning.cpp
+++ b/Framework/DataObjects/src/FractionalRebinning.cpp
@@ -98,7 +98,7 @@ void normaliseOutput(MatrixWorkspace_sptr outputWS,
       outputE[j] = eValue;
     }
   }
-  outputWS->isDistribution(inputWS->isDistribution());
+  outputWS->setDistribution(inputWS->isDistribution());
 }
 
 /**
diff --git a/Framework/DataObjects/src/WorkspaceSingleValue.cpp b/Framework/DataObjects/src/WorkspaceSingleValue.cpp
index cbf509a945c597a3cd84949ca5d3f61c1e2b1522..0efe80ddcb65403acfc680a796f7e99ba6daa4e3 100644
--- a/Framework/DataObjects/src/WorkspaceSingleValue.cpp
+++ b/Framework/DataObjects/src/WorkspaceSingleValue.cpp
@@ -18,12 +18,12 @@ WorkspaceSingleValue::WorkspaceSingleValue(double value, double error)
   data.dataE().resize(1, error);
   data.dataDx().resize(1, 0.0);
 
-  isDistribution(true);
+  setDistribution(true);
 }
 
 WorkspaceSingleValue::WorkspaceSingleValue(const WorkspaceSingleValue &other)
     : MatrixWorkspace(other), data(other.data) {
-  isDistribution(true);
+  setDistribution(true);
 }
 
 /** Does nothing in this case
diff --git a/Framework/DataObjects/test/WorkspaceValidatorsTest.h b/Framework/DataObjects/test/WorkspaceValidatorsTest.h
index 79fc839ea6fb87803e7de0285d907e93394c4ee5..02f17e3a22b9368e4f510230f64f5e182a1b8f18 100644
--- a/Framework/DataObjects/test/WorkspaceValidatorsTest.h
+++ b/Framework/DataObjects/test/WorkspaceValidatorsTest.h
@@ -53,7 +53,7 @@ public:
     ws2 = MatrixWorkspace_sptr(new Mantid::DataObjects::Workspace2D);
     ws2->initialize(2, 10, 10);
     ws2->getAxis(0)->unit() = UnitFactory::Instance().create("Wavelength");
-    ws2->isDistribution(true);
+    ws2->setDistribution(true);
   }
 
   ~WorkspaceValidatorsTest() override {
diff --git a/Framework/MDAlgorithms/test/IntegrateFluxTest.h b/Framework/MDAlgorithms/test/IntegrateFluxTest.h
index 3bcd1dbfcffa83e86902b198d2837d3554861910..b47264aaaab35189471029eab302db04bd72708a 100644
--- a/Framework/MDAlgorithms/test/IntegrateFluxTest.h
+++ b/Framework/MDAlgorithms/test/IntegrateFluxTest.h
@@ -403,7 +403,7 @@ private:
       }
       // std::cerr << std::accumulate( y.begin(), y.end(), 0.0 ) << std::endl;
     }
-    ws->isDistribution(true);
+    ws->setDistribution(true);
     Mantid::API::AnalysisDataService::Instance().addOrReplace(wsName, ws);
   }
 
diff --git a/Framework/PythonInterface/mantid/api/src/Exports/MatrixWorkspace.cpp b/Framework/PythonInterface/mantid/api/src/Exports/MatrixWorkspace.cpp
index 9220c23c5346f724f85f10c23f5cf0d6aa9dffee..737e513717081b9e737eb3df50433e95312f08e9 100644
--- a/Framework/PythonInterface/mantid/api/src/Exports/MatrixWorkspace.cpp
+++ b/Framework/PythonInterface/mantid/api/src/Exports/MatrixWorkspace.cpp
@@ -253,9 +253,8 @@ void export_MatrixWorkspace() {
       .def("setYUnit", &MatrixWorkspace::setYUnit,
            (arg("self"), arg("newUnit")),
            "Sets a new unit for the data (Y axis) in the workspace")
-      .def("setDistribution", (bool &(MatrixWorkspace::*)(const bool)) &
-                                  MatrixWorkspace::isDistribution,
-           (arg("self"), arg("newVal")), return_value_policy<return_by_value>(),
+      .def("setDistribution", &MatrixWorkspace::setDistribution,
+           (arg("self"), arg("newVal")),
            "Set distribution flag. If True the workspace has been divided by "
            "the bin-width.")
       .def("replaceAxis", &MatrixWorkspace::replaceAxis,
diff --git a/Framework/WorkflowAlgorithms/src/RefRoi.cpp b/Framework/WorkflowAlgorithms/src/RefRoi.cpp
index bbc549908cd078e153d1bf7ae6497317c765055c..933002b98cf1b561ad89cdb492490188d34c8188 100644
--- a/Framework/WorkflowAlgorithms/src/RefRoi.cpp
+++ b/Framework/WorkflowAlgorithms/src/RefRoi.cpp
@@ -156,7 +156,7 @@ void RefRoi::extract2D() {
     outputWS->getAxis(0)->unit() =
         UnitFactory::Instance().create("MomentumTransfer");
     outputWS->setYUnitLabel("Reflectivity");
-    outputWS->isDistribution(true);
+    outputWS->setDistribution(true);
   } else {
     XOut0 = inputWS->readX(0);
   }
diff --git a/Framework/WorkflowAlgorithms/src/SANSSolidAngleCorrection.cpp b/Framework/WorkflowAlgorithms/src/SANSSolidAngleCorrection.cpp
index c88468d3859d6cf545127470565f6533a9870733..6fa9cf9e1e8879b80d4656b04837820c51154e72 100644
--- a/Framework/WorkflowAlgorithms/src/SANSSolidAngleCorrection.cpp
+++ b/Framework/WorkflowAlgorithms/src/SANSSolidAngleCorrection.cpp
@@ -94,7 +94,7 @@ void SANSSolidAngleCorrection::exec() {
   MatrixWorkspace_sptr outputWS = getProperty("OutputWorkspace");
   if (outputWS != inputWS) {
     outputWS = WorkspaceFactory::Instance().create(inputWS);
-    outputWS->isDistribution(true);
+    outputWS->setDistribution(true);
     outputWS->setYUnit("");
     outputWS->setYUnitLabel("Steradian");
     setProperty("OutputWorkspace", outputWS);