diff --git a/Framework/Crystal/src/PredictPeaks.cpp b/Framework/Crystal/src/PredictPeaks.cpp
index 9c468d3a1663e91fdc433199bfb781cd1734e0ba..2fd61b1b2fb9e82efe0c641ec29e4dd5a8864bd6 100644
--- a/Framework/Crystal/src/PredictPeaks.cpp
+++ b/Framework/Crystal/src/PredictPeaks.cpp
@@ -473,6 +473,7 @@ void PredictPeaks::setStructureFactorCalculatorFromSample(
  * @param hkl
  * @param orientedUB
  * @param goniometerMatrix
+ * @param seqNum
  */
 void PredictPeaks::calculateQAndAddToOutput(const V3D &hkl,
                                             const DblMatrix &orientedUB,
diff --git a/Framework/Crystal/src/SaveHKL.cpp b/Framework/Crystal/src/SaveHKL.cpp
index 14dd5b68c33b303e77e88f17a89f787fb7bbd986..a8ef7e7ea45e73f3487d645fc68603e4e4ea201e 100644
--- a/Framework/Crystal/src/SaveHKL.cpp
+++ b/Framework/Crystal/src/SaveHKL.cpp
@@ -345,7 +345,7 @@ void SaveHKL::exec() {
           continue;
         }
         int run = p.getRunNumber();
-        int seqNum = p.getPeakNumber();
+        size_t seqNum = p.getPeakNumber();
         int bank = 0;
         std::string bankName = p.getBankName();
         int nCols, nRows;
diff --git a/Framework/Crystal/src/SaveIsawPeaks.cpp b/Framework/Crystal/src/SaveIsawPeaks.cpp
index a2733a1b4e0a38d07b293f0d50e57389adc6af8a..0c1ba594ce43db95564e50e927956b7365f62c86 100644
--- a/Framework/Crystal/src/SaveIsawPeaks.cpp
+++ b/Framework/Crystal/src/SaveIsawPeaks.cpp
@@ -261,7 +261,7 @@ void SaveIsawPeaks::exec() {
   // =========================================
 
   // Go in order of run numbers
-  int maxPeakNumb = 0;
+  size_t maxPeakNumb = 0;
   size_t appendPeakNumb = 0;
   runMap_t::iterator runMap_it;
   for (runMap_it = runMap.begin(); runMap_it != runMap.end(); ++runMap_it) {
diff --git a/Framework/DataObjects/inc/MantidDataObjects/Peak.h b/Framework/DataObjects/inc/MantidDataObjects/Peak.h
index 6fe12556e7bc66bc4986de014213b9e62ca0e1d2..9499f47fb197db316c20daead2cf499c72b73811 100644
--- a/Framework/DataObjects/inc/MantidDataObjects/Peak.h
+++ b/Framework/DataObjects/inc/MantidDataObjects/Peak.h
@@ -151,7 +151,7 @@ public:
   void setRow(int m_row);
   void setCol(int m_col);
   void setPeakNumber(size_t m_peakNumber) override;
-  int getPeakNumber() const override;
+  size_t getPeakNumber() const override;
 
   virtual Mantid::Kernel::V3D getDetPos() const override;
   double getL1() const override;
@@ -246,7 +246,7 @@ private:
   double m_orig_L;
 
   // keep peak number
-  int m_peakNumber;
+  size_t m_peakNumber;
 
   /// List of contributing detectors IDs
   std::set<int> m_detIDs;
diff --git a/Framework/DataObjects/src/Peak.cpp b/Framework/DataObjects/src/Peak.cpp
index 6aa1b81826b8859c456802f71d72e9307e011183..f9562610b1ba592b57e3d0931acea235d810db5f 100644
--- a/Framework/DataObjects/src/Peak.cpp
+++ b/Framework/DataObjects/src/Peak.cpp
@@ -219,7 +219,7 @@ Peak::Peak(const Geometry::IPeak &ipeak)
       m_runNumber(ipeak.getRunNumber()),
       m_monitorCount(ipeak.getMonitorCount()), m_row(ipeak.getRow()),
       m_col(ipeak.getCol()), m_orig_H(0.), m_orig_K(0.), m_orig_L(0.),
-      m_peakNumber(0), m_peakShape(boost::make_shared<NoShape>()) {
+      m_peakNumber(ipeak.getPeakNumber()), m_peakShape(boost::make_shared<NoShape>()) {
   convention = Kernel::ConfigService::Instance().getString("Q.convention");
   if (fabs(m_InverseGoniometerMatrix.Invert()) < 1e-8)
     throw std::invalid_argument(
@@ -883,7 +883,7 @@ int Peak::getCol() const { return m_col; }
 // -------------------------------------------------------------------------------------
 /**Returns the unique peak number
  * Returns -1 if it could not find it. */
-int Peak::getPeakNumber() const { return m_peakNumber; }
+size_t Peak::getPeakNumber() const { return m_peakNumber; }
 
 // -------------------------------------------------------------------------------------
 /** For RectangularDetectors only, sets the row (y) of the pixel of the
@@ -956,7 +956,7 @@ double Peak::getValueByColName(const std::string &name_in) const {
   else if (name == "col")
     return this->getCol();
   else if (name == "peaknumber")
-    return this->getPeakNumber();
+    return double(this->getPeakNumber());
   else
     throw std::runtime_error(
         "Peak::getValueByColName() unknown column or column is not a number: " +
diff --git a/Framework/DataObjects/src/PeakColumn.cpp b/Framework/DataObjects/src/PeakColumn.cpp
index 891e199908ab275e30a2c6c570e9b6ddc761bbf9..fdee8ab4ea91f2ca52c37206d79674c3cf89a59e 100644
--- a/Framework/DataObjects/src/PeakColumn.cpp
+++ b/Framework/DataObjects/src/PeakColumn.cpp
@@ -294,9 +294,6 @@ const void *PeakColumn::void_pointer(size_t index) const {
   } else if (m_name == "RunNumber") {
     value = peak.getRunNumber();
     return boost::get<int>(&value);
-  } else if (m_name == "PeakNumber") {
-    value = peak.getPeakNumber();
-    return boost::get<int>(&value);
   } else if (m_name == "DetID") {
     value = peak.getDetectorID();
     return boost::get<int>(&value);
diff --git a/Framework/DataObjects/src/PeaksWorkspace.cpp b/Framework/DataObjects/src/PeaksWorkspace.cpp
index 01e05d2e62446bf3d6f92e16e3622bffd238bac6..322ee2eacc9dbf298832d65df84e0b57597c2bfe 100644
--- a/Framework/DataObjects/src/PeaksWorkspace.cpp
+++ b/Framework/DataObjects/src/PeaksWorkspace.cpp
@@ -695,7 +695,7 @@ void PeaksWorkspace::saveNexus(::NeXus::File *file) const {
   std::vector<double> dSpacing(np);
   std::vector<double> TOF(np);
   std::vector<int> runNumber(np);
-  std::vector<int> peakNumber(np);
+  std::vector<size_t> peakNumber(np);
   std::vector<double> goniometerMatrix(9 * np);
   std::vector<std::string> shapes(np);
 
diff --git a/Framework/Geometry/inc/MantidGeometry/Crystal/IPeak.h b/Framework/Geometry/inc/MantidGeometry/Crystal/IPeak.h
index ab011b72a89b62f89550c870d001a8b337924231..d2d33790210decabbbabe294950c5ae849566d5d 100644
--- a/Framework/Geometry/inc/MantidGeometry/Crystal/IPeak.h
+++ b/Framework/Geometry/inc/MantidGeometry/Crystal/IPeak.h
@@ -77,7 +77,7 @@ public:
   virtual double getBinCount() const = 0;
   virtual void setBinCount(double m_BinCount) = 0;
 
-  virtual int getPeakNumber() const = 0;
+  virtual size_t getPeakNumber() const = 0;
   virtual void setPeakNumber(size_t m_PeakNumber) = 0;
 
   virtual Mantid::Kernel::Matrix<double> getGoniometerMatrix() const = 0;
diff --git a/Framework/Geometry/test/MockObjects.h b/Framework/Geometry/test/MockObjects.h
index 154f988880c29be02f4d108dea470f2cff0b1875..43b6acf2883a99eb38dc489f940cecd293f887a7 100644
--- a/Framework/Geometry/test/MockObjects.h
+++ b/Framework/Geometry/test/MockObjects.h
@@ -65,7 +65,7 @@ public:
   MOCK_CONST_METHOD0(getDetector, Geometry::IDetector_const_sptr());
   MOCK_CONST_METHOD0(getInstrument, Geometry::Instrument_const_sptr());
   MOCK_CONST_METHOD0(getRunNumber, int());
-  MOCK_CONST_METHOD0(getPeakNumber, int());
+  MOCK_CONST_METHOD0(getPeakNumber, size_t());
   MOCK_METHOD1(setRunNumber, void(int m_RunNumber));
   MOCK_METHOD1(setPeakNumber, void(size_t m_PeakNumber));
   MOCK_CONST_METHOD0(getMonitorCount, double());
diff --git a/qt/widgets/sliceviewer/src/QPeaksTableModel.cpp b/qt/widgets/sliceviewer/src/QPeaksTableModel.cpp
index ecf233c4131fbcc5bbb5eece08bb85c4de07c122..9ca18beb52fdf6d2e45c14837a24e52828974145 100644
--- a/qt/widgets/sliceviewer/src/QPeaksTableModel.cpp
+++ b/qt/widgets/sliceviewer/src/QPeaksTableModel.cpp
@@ -198,7 +198,7 @@ QPeaksTableModel::QPeaksTableModel(
       [](const IPeak &peak) { return QVariant(peak.getCol()); },
       [](const IPeak &peak) { return QVariant(peak.getQLabFrame().norm()); },
       [](const IPeak &peak) { return QVariant(peak.getQSampleFrame().norm()); },
-      [](const IPeak &peak) { return QVariant(peak.getPeakNumber()); },
+      [](const IPeak &peak) { return QVariant(int(peak.getPeakNumber())); },
   };
 
   // Mapping member functions of the Peak object to a column index with