diff --git a/pub/lib/manip.cpp b/pub/lib/manip.cpp
index cb6ec68b54e6f12412eff861324a7418ccccb765..cdc2331a00e027c3b77ea1abc5683ed7562f9286 100644
--- a/pub/lib/manip.cpp
+++ b/pub/lib/manip.cpp
@@ -503,12 +503,13 @@ void NManip::slices_rebin()
                 // x grids must be equal:
                 sout->x = fd->VS(ji)->x;
                 for ( int jj=ji+1; jj<jf; jj++ ) {
-                    if ( fd->nPts(jj) != fd->nPts(ji) )
-                        throw "spectrum " + S(jj) + " has other size than spectrum " + S(ji);
+                    if ( fd->nPts(jj) != n )
+                        throw "grids differ in size: ni[,"+S(jj)+"]="+S(fd->nPts(jj))+
+                            " vs ni[,0]="+S(n);
                     for ( int i=0; i<fd->nPts(jj); ++i ) {
                         if ( fd->VS(jj)->x[i] != sout->x[i] )
-                            throw "spectrum " + S(jj) + " has other x[" +
-                                S(i) + "] than spectrum 0";
+                            throw "grids differ: x[,"+S(jj)+","+S(i)+"]="+S(fd->VS(jj)->x[i])+
+                                " vs x[,0,"+S(i)+"]="S(sout->x[i]);
                     }
                 }
                 // bin y: