diff --git a/normalize.cpp b/normalize.cpp
index b70f87a289137b2b6f322eaa13da1e4c8f3ac358..c5f57ebe6d404496c94f1fca473d3418e6112a0b 100644
--- a/normalize.cpp
+++ b/normalize.cpp
@@ -52,17 +52,14 @@ std::vector<eis::DataPoint> eis::reduceRegion(const std::vector<eis::DataPoint>&
 
 	std::vector<fvalue> grads;
 	grads.reserve(data.size());
-	fvalue meanGrad = 0;
 	eis::Log(eis::Log::DEBUG)<<"Grads:";
 	for(size_t i = 0; i < data.size(); ++i)
 	{
 		grads.push_back(std::abs(eis::absGrad(data, i)));
-		meanGrad += grads.back();
 		eis::Log(eis::Log::DEBUG)<<i<<": "<<inData[i].omega<<','<<grads.back();
 	}
 
-	meanGrad = meanGrad / grads.size();
-	fvalue gradThresh = meanGrad*gradThreshFactor;
+	fvalue gradThresh = eis::median(grads)*gradThreshFactor;
 
 	eis::Log(eis::Log::DEBUG)<<"Grad thresh is:"<<','<<gradThresh;