diff --git a/glimGls.cc b/glimGls.cc
index 07b0c75f2097e8693cd2ee4348edeec84b5baaab..89718895fe7e13d60a7851de3ba235a29db35611 100644
--- a/glimGls.cc
+++ b/glimGls.cc
@@ -36,10 +36,12 @@ namespace FILM {
       // compute r
       Matrix I(sizeTS, sizeTS);
       Identity(I);
-      r = (I-x*inv_xx*x.t())*y;
+      Matrix R = I-x*inv_xx*x.t();
+      r = R*y;
 
       // compute sigma squareds 
-      sigmaSquareds(ind) = (r.t()*r/sizeTS).AsScalar();
+      //      sigmaSquareds(ind) = (r.t()*r/sizeTS).AsScalar();
+      sigmaSquareds(ind) = (r.t()*r).AsScalar()/R.Trace();
 
       // set corrections
       SetCorrection(inv_xx, ind);