diff --git a/Framework/Algorithms/src/Stitch1D.cpp b/Framework/Algorithms/src/Stitch1D.cpp
index 6ab118612d0531812988f6a08125f4b861527aa3..a18f5bbbdf110eac87151980c30add666272c131 100644
--- a/Framework/Algorithms/src/Stitch1D.cpp
+++ b/Framework/Algorithms/src/Stitch1D.cpp
@@ -433,16 +433,15 @@ MatrixWorkspace_sptr Stitch1D::sortXAxis(MatrixWorkspace_sptr &inWS) {
         vecdx[l] = (++it)->second;
       ++l;
     }
-    for (size_t i = 0; i < inWS->getNumberHistograms(); ++i) {
-      auto x = make_cow<HistogramX>(std::move(vecx));
-      auto y = make_cow<HistogramY>(std::move(vecy));
-      auto e = make_cow<HistogramE>(std::move(vece));
+    auto x = make_cow<HistogramX>(std::move(vecx));
+    auto y = make_cow<HistogramY>(std::move(vecy));
+    auto e = make_cow<HistogramE>(std::move(vece));
+    inWS->setSharedX(i, x);
+    inWS->setSharedY(i, y);
+    inWS->setSharedE(i, e);
+    if (inWS->hasDx(i)) {
       auto dx = make_cow<HistogramDx>(std::move(vecdx));
-      inWS->setSharedX(i, x);
-      inWS->setSharedY(i, y);
-      inWS->setSharedE(i, e);
-      if (inWS->hasDx(i))
-        inWS->setSharedDx(i, dx);
+      inWS->setSharedDx(i, dx);
     }
   }
   return inWS;