diff --git a/pub/src/coord.cpp b/pub/src/coord.cpp
index 3e17f555535cc7eafaaec0ac94aa5387e9072c57..363ede6ba6a0c524b078a8bae5cc75e73713ec4e 100644
--- a/pub/src/coord.cpp
+++ b/pub/src/coord.cpp
@@ -159,7 +159,7 @@ string strg(const CCoord& C) { return C.str(); };
 //  class CParam                                                            //
 //**************************************************************************//
 
-string CParam::str() const
-{
-    return strg(val) + string(" ") + Co.str();
-}
+// string CParam::str() const
+// {
+//     return strg(val) + string(" ") + Co.str();
+// }
diff --git a/pub/src/coord.h b/pub/src/coord.h
index 9b4f9376034cec9ace489e6ab7150f875bc84a52..d80bad3c94d6c1c13cc765c14b5548efaca7583c 100644
--- a/pub/src/coord.h
+++ b/pub/src/coord.h
@@ -41,6 +41,6 @@ class CParam {
     CParam( string _name, string _unit="", double _val=0 ) : 
         Co( CCoord(_name, _unit) ), val(_val) {};
 
-    string str() const;
+//    string str() const;
 };
 
diff --git a/pub/src/edif.cpp b/pub/src/edif.cpp
index 41ca04dc0a93bc00da13eb1e3fa887f34d182579..ebb8f12a2c6e9432dbc0441e945832f1f441ab08 100644
--- a/pub/src/edif.cpp
+++ b/pub/src/edif.cpp
@@ -180,7 +180,8 @@ void NEdif::ShowNumpar()
     while ( f = fiter() ) {
         cout << "# file " << fiter.k() << ":\n";
         for ( uint m=0; m<f->RPar.size(); m++ ) {
-            cout << "  " << f->RPar[m].str() << "\n" ;
+            cout << "  " << f->RPar[m].Co.str() << ": " <<
+                f->RPar[m].val << "\n" ;
         }
     }
 }
diff --git a/pub/src/manip.cpp b/pub/src/manip.cpp
index bdc402c9963242e77659a4579ae5067f12ba9a1f..f0dc2f6ae85ac984d932d85b81aa9d3424b232f5 100644
--- a/pub/src/manip.cpp
+++ b/pub/src/manip.cpp
@@ -1023,18 +1023,19 @@ void NManip::FilMerge( const string& opts )
     // check RPar, and prepare move to z if they differ:
     fiter.reset();
     vector<CParam> RPar( fiter()->RPar );
-    vector<bool> RParDiff( RPar.size(), false );    
+    uint nR = RPar.size();
+    vector<bool> RParDiff( nR, false );    
     while ( (fin = fiter()) ) {
-        if ( fin->RPar.size() != RPar.size() )
+        if ( fin->RPar.size() != nR )
             throw string( "different numer of r parameters");
-        for ( uint i=0; i<RPar.size(); ++i )
+        for ( uint i=0; i<nR; ++i )
             if (fin->RPar[i].Co != RPar[i].Co )
                 throw string( "different r parameter");
-        for ( uint i=0; i<RPar.size(); ++i )
+        for ( uint i=0; i<nR; ++i )
             if (fin->RPar[i].val != RPar[i].val )
                 RParDiff[i] = true;
     }
-    for ( uint i=0; i<RPar.size(); ++i ) {
+    for ( uint i=0; i<nR; ++i ) {
         if( RParDiff[i] )
             fout->ZCo.push_back( RPar[i].Co );
         else
@@ -1098,7 +1099,7 @@ void NManip::FilMerge( const string& opts )
             PZentry eout( fin->new_zentry(j) );
             if ( add_zk )
                 eout->z.push_back( fiter.iteration() );
-            for ( uint i=0; i<RPar.size(); ++i )
+            for ( uint i=0; i<nR; ++i )
                 if( RParDiff[i] )
                     eout->z.push_back( fin->RPar[i].val );
             fout->V.push_back( eout );
diff --git a/pub/src/olf.cpp b/pub/src/olf.cpp
index fafd6df67b45ffba068cfaebe748a5cc237747e6..66c9ad8380374e2f080b5eeced07b86b90c612ae 100644
--- a/pub/src/olf.cpp
+++ b/pub/src/olf.cpp
@@ -205,7 +205,7 @@ void COld::setCoord( CVariable* var, CCoord& co )
     } else if ( var->typ==CVariable::_R ) {
         if( var->num >= RPar.size() )
             throw "coordinate " + var->var_info() + " not defined";
-        RPar[var->num] = co;
+        RPar[var->num].Co = co;
     } else {
         throw "variable " + var->var_info() + " not defined for curve file";
     }