diff --git a/pub/lib/manip.cpp b/pub/lib/manip.cpp
index d626e0dac87233dd0404fc80039ebde2022c749a..54590697b4eaa63e3d36cc5c14e5bee53f1892d3 100644
--- a/pub/lib/manip.cpp
+++ b/pub/lib/manip.cpp
@@ -535,7 +535,7 @@ void NManip::slices_rebin()
                                     vm_src += SQR(fd->VS(jj)->dy[i]);
                                 vm_grp += SQR(fd->VS(jj)->y[i]-ym);
                             }
-                            double vm = vm_src/mj;
+                            double vm = vm_src/mj/mj;
                             if( mj>1 )
                                 vm += vm_grp / (mj-1);
                             sout->dy[i] = sqrt(vm);
diff --git a/pub/lib/slice.cpp b/pub/lib/slice.cpp
index 43ea5dd6914318b972e4d879324c718d8b409637..26838f703931771bea4153cac1a95af73488762b 100644
--- a/pub/lib/slice.cpp
+++ b/pub/lib/slice.cpp
@@ -176,12 +176,12 @@ void CSpec::intpol( const vector<double>& xx, vector<double>* yy, vector<double>
     }
  scales_differ:
 
-    /* 
+    /*
     if( strict && ( xx[0]<x[0] || xx[nn-1]>x[n-1] ) )
         throw "interpolation to "+S(xx[0])+" .. "+S(xx[nn-1])+
             " required, while available data only cover "+S(x[0])+" .. "+S(x[n-1]);
     */
-    
+
     for( int ii=0; ii<nn; ++ii ) {
         (*yy)[ii] = 0;
         if(dd)
@@ -306,7 +306,7 @@ PSpec CSpec::binned( const vector<int>& breaks ) const
                 vg_src += SQR( dy[i] );
             vg_grp += SQR( y[i]-yg );
         }
-        double vg = vg_src/ng;
+        double vg = vg_src/ng/ng;
         if( ng>1 )
             vg += vg_grp / (ng-1);
         sout->push_xyd(xg, yg, sqrt(vg) );