diff --git a/pub/src/manip.cpp b/pub/src/manip.cpp
index 4f33704af08afecb81b126cc440a0619c20e39f7..d57227a3e40ca3abace19f6d846341ad0946535d 100644
--- a/pub/src/manip.cpp
+++ b/pub/src/manip.cpp
@@ -179,8 +179,7 @@ void NManip::PtsAvgeByErr( const string& subcmd )
     POld fin;
     while( fin = fiter() ) {
         POld fout( fin->new_old() );
-        fout->lDoc.push_back( "mpae" + subcmd + " " + strg(errbound) );
-
+        string groupinfo;
         for ( uint j=0; j<fin->nJ(); j++ ) {
             PSpec sin = fin->VS(j);
             PSpec sout( new CSpec() );
@@ -188,7 +187,7 @@ void NManip::PtsAvgeByErr( const string& subcmd )
             if( !sin->dy.size() )
                 throw string( "no errors available" );
             double xg = 0, yg = 0, vg = 0;
-            uint ng = 0;
+            uint ng = 0, istart=0;
             for( uint i=0; i<sin->size(); ++i ) {
                 if ( !mode_abs && sin->y[i]<0 )
                     throw string( "negative counts not compatible with"
@@ -201,12 +200,18 @@ void NManip::PtsAvgeByErr( const string& subcmd )
                 if( (  mode_abs && dg/ng<errbound ) ||
                     ( !mode_abs && yg>0 && dg/yg<errbound ) ) {
                     sout->push_xyd( xg/ng, yg/ng, dg/ng );
+                    groupinfo += strg(istart) + ",";
                     xg = 0; yg = 0; vg = 0; ng = 0;
+                    istart = i+1;
                 }
             }
             if( sout->size() )
                 fout->V.push_back(sout);
         }
+        string docline = "mpae" + subcmd + " " + strg(errbound);
+        if( fin->nJ()==1 )
+            docline += " #=> groups " + groupinfo.substr(0,groupinfo.size()-1);
+        fout->lDoc.push_back( docline );
         if( fout->nJ() )
             NOlm::OloAdd( fout, fiter.k() );