Index: trunk/BNC/src/PPP/pppClient.cpp
===================================================================
--- trunk/BNC/src/PPP/pppClient.cpp	(revision 9580)
+++ trunk/BNC/src/PPP/pppClient.cpp	(revision 9581)
@@ -376,5 +376,5 @@
 //
 //////////////////////////////////////////////////////////////////////////////
-void t_pppClient::finish(t_irc irc, int ind) { //LOG << "t_pppClient::finish(" << irc << ") " << ind << endl;
+void t_pppClient::finish(t_irc irc, int ind) { LOG << "t_pppClient::finish(" << irc << ") " << ind << endl;
 
   clearObs();
@@ -401,4 +401,8 @@
   else {
     _output->_error = true;
+    if (OPT->_obsModelType == OPT->DCMcodeBias ||
+        OPT->_obsModelType == OPT->DCMphaseBias) {
+      reset();
+    }
   }
   _output->_log = _log->str();
@@ -715,5 +719,6 @@
           continue;
         }
-        if (satObs->prn().system() == sys) {
+        if (satObs->prn().system() == sys && 
+        !_historicalRefSats[sys].contains(satObs->prn())) {
           obsVector[ii]->setAsReference();
           refSat->setPrn(satObs->prn());
Index: trunk/BNC/src/PPP/pppSatObs.cpp
===================================================================
--- trunk/BNC/src/PPP/pppSatObs.cpp	(revision 9580)
+++ trunk/BNC/src/PPP/pppSatObs.cpp	(revision 9581)
@@ -315,5 +315,5 @@
   // ----------------------
   if (_prn.system() == 'R' ) {
-    retVal *= 5.0;
+    retVal *= 100.0;
   }
 
