Index: /trunk/BNC/bncmodel.cpp
===================================================================
--- /trunk/BNC/bncmodel.cpp	(revision 3318)
+++ /trunk/BNC/bncmodel.cpp	(revision 3319)
@@ -1229,4 +1229,7 @@
     ll(iObs)      = satData->L3 - cmpValue(satData, true);
     PP(iObs,iObs) = 1.0 / (_sigL3 * _sigL3) / (ellWgtCoef * ellWgtCoef);
+    if (satData->system() == 'R') {
+      PP(iObs,iObs) /= 4.0;
+    }
     for (int iPar = 1; iPar <= _params.size(); iPar++) {
       if (_params[iPar-1]->type == bncParam::AMB_L3 &&
Index: /trunk/BNC/bncpppclient.cpp
===================================================================
--- /trunk/BNC/bncpppclient.cpp	(revision 3318)
+++ /trunk/BNC/bncpppclient.cpp	(revision 3319)
@@ -376,11 +376,9 @@
 	  if      (eLast && eLast->IOD() == cc->iod) {
             eLast->position(tt.gpsw(), tt.gpssec(), xc.data(), vv.data());
-            applyCorr(tt, cc, xc, vv);
-            return success;
+            return applyCorr(tt, cc, xc, vv);
           }
 	  else if (ePrev && ePrev->IOD() == cc->iod) {
             ePrev->position(tt.gpsw(), tt.gpssec(), xc.data(), vv.data());
-            applyCorr(tt, cc, xc, vv);
-            return success;
+            return applyCorr(tt, cc, xc, vv);
           }
 	}
@@ -400,5 +398,5 @@
 // 
 ////////////////////////////////////////////////////////////////////////////
-void bncPPPclient::applyCorr(const bncTime& tt, const t_corr* cc, 
+t_irc bncPPPclient::applyCorr(const bncTime& tt, const t_corr* cc, 
                              ColumnVector& xc, ColumnVector& vv) {
   ColumnVector dx(3);
@@ -406,4 +404,8 @@
   double dt = tt - cc->tt;
   ColumnVector raoHlp = cc->rao + cc->dotRao * dt + cc->dotDotRao * dt * dt;
+
+  if (raoHlp.norm_Frobenius() > 20.0) {
+    return failure;
+  }
 
   RSW_to_XYZ(xc.Rows(1,3), vv, raoHlp, dx);
@@ -413,4 +415,6 @@
   xc[2] -= dx[2];
   xc[3] += cc->dClk + cc->dotDClk * dt + cc->dotDotDClk * dt * dt;
+
+  return success;
 }
 
Index: /trunk/BNC/bncpppclient.h
===================================================================
--- /trunk/BNC/bncpppclient.h	(revision 3318)
+++ /trunk/BNC/bncpppclient.h	(revision 3319)
@@ -113,6 +113,6 @@
   ~bncPPPclient();
   void putNewObs(const t_obs& pp);
-  static void applyCorr(const bncTime& tt, const t_corr* cc, ColumnVector& xc, 
-                        ColumnVector& vv);
+  static t_irc applyCorr(const bncTime& tt, const t_corr* cc, ColumnVector& xc, 
+                         ColumnVector& vv);
 
  public slots:
