diff --git a/Code/Mantid/Framework/Algorithms/src/Q1D2.cpp b/Code/Mantid/Framework/Algorithms/src/Q1D2.cpp
index b241a0cfab2515794f732ea690bf808bd2184e06..cea54e4c0d2a5f4a6adfcb9118b54874e96c8ab8 100644
--- a/Code/Mantid/Framework/Algorithms/src/Q1D2.cpp
+++ b/Code/Mantid/Framework/Algorithms/src/Q1D2.cpp
@@ -339,7 +339,7 @@ void Q1D2::addWaveAdj(const double * c, const double * Dc, MantidVec::iterator b
   for( ; bInOut != end; ++e2InOut, ++c, ++Dc, ++bInOut)
   {
     //first the error
-    *e2InOut += ( (*e2InOut)*(*c)*(*c) )+( (*Dc)*(*Dc)*(*bInOut)*(*bInOut) );
+    *e2InOut = ( (*e2InOut)*(*c)*(*c) )+( (*Dc)*(*Dc)*(*bInOut)*(*bInOut) );
     // now the actual calculation a = b*c
     *bInOut = (*bInOut)*(*c);
   }