diff --git a/Framework/Crystal/src/PeakHKLErrors.cpp b/Framework/Crystal/src/PeakHKLErrors.cpp
index 78142bd7553b21c79be0711becf399f7d8c50df8..3edfe24e37f5f5fc0a06130cca41282b3975c7ae 100644
--- a/Framework/Crystal/src/PeakHKLErrors.cpp
+++ b/Framework/Crystal/src/PeakHKLErrors.cpp
@@ -397,7 +397,7 @@ void PeakHKLErrors::function1D(double *out, const double *xValues,
     V3D sampOffsets(getParameter("SampleXOffset"),
                     getParameter("SampleYOffset"),
                     getParameter("SampleZOffset"));
-    peak.setSamplePos(sampOffsets);
+    peak.setSamplePos(peak.getSamplePos() + sampOffsets);
 
     V3D hkl = UBinv * peak.getQSampleFrame();
 
@@ -520,7 +520,7 @@ void PeakHKLErrors::functionDeriv1D(Jacobian *out, const double *xValues,
     V3D sampOffsets(getParameter("SampleXOffset"),
                     getParameter("SampleYOffset"),
                     getParameter("SampleZOffset"));
-    peak.setSamplePos(sampOffsets);
+    peak.setSamplePos(peak.getSamplePos() + sampOffsets);
     // NOTE:Use getQLabFrame except for below.
     // For parameters the getGoniometerMatrix should remove GonRot, for derivs
     // wrt GonRot*, wrt chi*,phi*,etc.
diff --git a/Framework/Crystal/test/OptimizeCrystalPlacementTest.h b/Framework/Crystal/test/OptimizeCrystalPlacementTest.h
index b4aaf3e0268a3d162e1a435f382a979d5a4f4dd8..0a1c30b577bf3d4b2867c02590d173035ca80c93 100644
--- a/Framework/Crystal/test/OptimizeCrystalPlacementTest.h
+++ b/Framework/Crystal/test/OptimizeCrystalPlacementTest.h
@@ -208,9 +208,9 @@ public:
         modPeaksNoFix, {{"KeepGoniometerFixedfor", "5637, 5638"},
                         {"AdjustSampleOffsets", "1"}});
     const auto table = resultsSamplePos.second;
-    TS_ASSERT_DELTA(table->Double(0, 1), 0, 0.0000649);
-    TS_ASSERT_DELTA(table->Double(1, 1), 0, 0.00000146);
-    TS_ASSERT_DELTA(table->Double(2, 1), 0, 0.00006745);
+    TS_ASSERT_DELTA(table->Double(0, 1), 0, 0.0003378);
+    TS_ASSERT_DELTA(table->Double(1, 1), 0, 0.00008976);
+    TS_ASSERT_DELTA(table->Double(2, 1), 0, 0.00026796);
   }
 
 private: