diff --git a/Framework/Nexus/src/NexusFileIO.cpp b/Framework/Nexus/src/NexusFileIO.cpp
index ba3529e127249f1d6590170c1d92b1f9e4327b5c..8f8ba1d825b97cad4683e11b245706a20ec21126 100644
--- a/Framework/Nexus/src/NexusFileIO.cpp
+++ b/Framework/Nexus/src/NexusFileIO.cpp
@@ -375,6 +375,23 @@ int NexusFileIO::writeNexusProcessedData2D(
                 start, asize);
       start[0]++;
     }
+
+    // Potentially x error
+    if (localworkspace->hasDx(0)) {
+      name = "xerrors";
+      NXcompmakedata(fileID, name.c_str(), NX_FLOAT64, 2, dims_array,
+                     m_nexuscompression, asize);
+      NXopendata(fileID, name.c_str());
+      start[0] = 0;
+      for (size_t i = 0; i < nSpect; i++) {
+        int s = spec[i];
+        NXputslab(fileID, reinterpret_cast<void *>(const_cast<double *>(
+                              &(localworkspace->readDx(s)[0]))),
+                  start, asize);
+        start[0]++;
+      }
+    }
+
     if (m_progress != 0)
       m_progress->reportIncrement(1, "Writing data");