diff --git a/Framework/DataObjects/src/PeakColumn.cpp b/Framework/DataObjects/src/PeakColumn.cpp
index 920b917e40af01ed18774d7c634ecbb3d87ae48d..4a6be41cc8323b291a2350ca6d3d71aee9da3f7d 100644
--- a/Framework/DataObjects/src/PeakColumn.cpp
+++ b/Framework/DataObjects/src/PeakColumn.cpp
@@ -206,7 +206,7 @@ void PeakColumn::read(size_t index, const std::string &text) {
 //-------------------------------------------------------------------------------------
 /** @return true if the column is read-only */
 bool PeakColumn::getReadOnly() const {
-  return ((m_name == "h") || (m_name == "k") || (m_name == "l") ||
+  return !((m_name == "h") || (m_name == "k") || (m_name == "l") ||
           (m_name == "RunNumber"));
 }
 
diff --git a/Framework/DataObjects/test/PeakColumnTest.h b/Framework/DataObjects/test/PeakColumnTest.h
index f2489b04d35efece3d74b74dd504845564a3cca1..7aca9b490ff8a20448e21fcdaeeb6197f04065aa 100644
--- a/Framework/DataObjects/test/PeakColumnTest.h
+++ b/Framework/DataObjects/test/PeakColumnTest.h
@@ -106,6 +106,16 @@ public:
     TS_ASSERT_EQUALS(qlab1, m_peaks[1].getQLabFrame());
   }
 
+  void test_get_read_only_returns_correct_value() {
+	  PeakColumn pc1(m_peaks, "h");
+	  auto readOnly = pc1.getReadOnly();
+	  TS_ASSERT(!readOnly);
+
+	  PeakColumn pc2(m_peaks, "DetID");
+	  readOnly = pc2.getReadOnly();
+	  TS_ASSERT(readOnly);
+  }
+
 private:
   Mantid::Geometry::Instrument_sptr m_inst;
   std::vector<Peak> m_peaks;