diff --git a/Code/Mantid/MantidPlot/src/Mantid/MantidMatrix.cpp b/Code/Mantid/MantidPlot/src/Mantid/MantidMatrix.cpp
index 14f636f85f23a01e61df5809d7996bf59da375a8..9cffc56def93efab14fce21ab197459c33a1c45b 100644
--- a/Code/Mantid/MantidPlot/src/Mantid/MantidMatrix.cpp
+++ b/Code/Mantid/MantidPlot/src/Mantid/MantidMatrix.cpp
@@ -9,6 +9,7 @@
 #include "../pixmaps.h"
 
 #include "MantidAPI/TextAxis.h"
+#include "MantidKernel/ReadLock.h"
 
 #include <QtGlobal>
 #include <QTextStream>
@@ -1456,6 +1457,8 @@ void MantidMatrixModel::setup(const Mantid::API::MatrixWorkspace* ws,
 
 double MantidMatrixModel::data(int row, int col) const
 {
+  Mantid::Kernel::ReadLock _lock(*m_workspace);
+
   double val;
   if (m_type == X)
   {