diff --git a/Framework/Crystal/src/SaveIsawPeaks.cpp b/Framework/Crystal/src/SaveIsawPeaks.cpp
index 0ce31ff541f1316332af3d68da8c7ed0a77dc023..a67272b86ef821aeaf920b4c8d8405e3f0846cb6 100644
--- a/Framework/Crystal/src/SaveIsawPeaks.cpp
+++ b/Framework/Crystal/src/SaveIsawPeaks.cpp
@@ -267,7 +267,10 @@ void SaveIsawPeaks::exec() {
   runMap_t::iterator runMap_it;
   for (runMap_it = runMap.begin(); runMap_it != runMap.end(); ++runMap_it) {
     // Start of a new run
-    appendPeakNumb += maxPeakNumb;
+    if (maxPeakNumb > 0) {
+      appendPeakNumb += maxPeakNumb + 1;
+      maxPeakNumb = 0;
+    }
     int run = runMap_it->first;
     bankMap_t &bankMap = runMap_it->second;
 
diff --git a/docs/source/release/v3.14.0/diffraction.rst b/docs/source/release/v3.14.0/diffraction.rst
index 2fcddad7d3add66de7a34d014425e33b37d051b6..a014567f662226dd49a00f0b28b29aa2c97639c3 100644
--- a/docs/source/release/v3.14.0/diffraction.rst
+++ b/docs/source/release/v3.14.0/diffraction.rst
@@ -41,6 +41,7 @@ Bugfixes
 - :ref:`CentroidPeaksMD <algm-CentroidPeaksMD>` now updates peak bin counts.
 
 - :ref:`FindPeaksMD <algm-FindPeaksMD>` now finds peaks correctly with the crystallography convention setting and reduction with crystallography convention is tested with a system test.
+- :ref:`SaveIsawPeaks <algm-SaveIsawPeaks>` does not have duplicate peak numbers when saving PeaksWorkspaces with more than one RunNumber.
 
 Powder Diffraction
 ------------------