diff --git a/Code/Mantid/Framework/Algorithms/src/CalculateResolution.cpp b/Code/Mantid/Framework/Algorithms/src/CalculateResolution.cpp
index 3c15adba5e2a2e23ecb749f8c52e69fb59202b0e..7de8ab60a50355fde59bc9e844beee9dd324d9db 100644
--- a/Code/Mantid/Framework/Algorithms/src/CalculateResolution.cpp
+++ b/Code/Mantid/Framework/Algorithms/src/CalculateResolution.cpp
@@ -103,8 +103,17 @@ namespace Mantid
 
       const V3D slitDiff = (slit2->getPos() - slit1->getPos()) * 1000; //Convert from mm to m.
 
-      const double slit1VG = slit1->getNumberParameter(vGapParam).front();
-      const double slit2VG = slit2->getNumberParameter(vGapParam).front();
+      std::vector<double> slit1VGParam = slit1->getNumberParameter(vGapParam);
+      std::vector<double> slit2VGParam = slit2->getNumberParameter(vGapParam);
+
+      if(slit1VGParam.size() < 1)
+        throw std::runtime_error("Could not find a value for the first slit's vertical gap with given parameter name: '" + vGapParam + "'.");
+
+      if(slit2VGParam.size() < 1)
+        throw std::runtime_error("Could not find a value for the second slit's vertical gap with given parameter name: '" + vGapParam + "'.");
+
+      const double slit1VG = slit1VGParam[0];
+      const double slit2VG = slit2VGParam[0];
 
       const double totalVertGap = slit1VG + slit2VG;
       const double slitDist = sqrt(slitDiff.X() * slitDiff.X() + slitDiff.Y() * slitDiff.Y() + slitDiff.Z() * slitDiff.Z());