diff --git a/src/ephemeris.c b/src/ephemeris.c
index 75cdec52da4cb7ea7cc73c08895f3aacd91759d2..58a12fce3b34bf3b95ff19c851e07af3d5002401 100644
--- a/src/ephemeris.c
+++ b/src/ephemeris.c
@@ -770,6 +770,7 @@ extern void satposs(gtime_t teph, const obsd_t *obs, int n, const nav_t *nav,
     int i,j;
 
     trace(3,"satposs : teph=%s n=%d ephopt=%d\n",time_str(teph,3),n,ephopt);
+    //printf("satposs : teph=%s n=%d ephopt=%d\n",time_str(teph,3),n,ephopt);
     /*if (ephopt==2)
     {
         printf("====satposs : teph=%s n=%d ephopt=%d\n",time_str(teph,3),n,ephopt);
@@ -805,8 +806,9 @@ extern void satposs(gtime_t teph, const obsd_t *obs, int n, const nav_t *nav,
             // JV{
             if (ephopt == EPHOPT_SBAS2 /*&& svh[i] == -1*/) // complement SBAS with BRDC eph
             {
-                //printf("satposs: in EPHOPT_SBAS2 wrong satpos. svh: %d. rs=%f, %f, %f. Reseting svh to 0 (ok).\n",svh[i],rs[i*6],rs[i*6+1],rs[i*6+2]);
-                svh[i] = 0;
+                //printf("satposs: using EPHOPT_SBAS2 wrong satpos sat:%d, svh: %d, rs=%f, %f, %f. Trying without SBAS.\n",obs[i].sat,svh[i],rs[i*6],rs[i*6+1],rs[i*6+2]);
+                if (!satpos(time[i],teph,obs[i].sat,EPHOPT_BRDC,nav,rs+i*6,dts+i*2,var+i,svh+i))
+                    continue;
             }
             else
             //}JV
@@ -824,7 +826,7 @@ extern void satposs(gtime_t teph, const obsd_t *obs, int n, const nav_t *nav,
         trace(4,"%s sat=%2d rs=%13.3f %13.3f %13.3f dts=%12.3f var=%7.3f svh=%02X\n",
               time_str(time[i],6),obs[i].sat,rs[i*6],rs[1+i*6],rs[2+i*6],
               dts[i*2]*1E9,var[i],svh[i]);
-        //printf("%s sat=%2d rs=%13.3f %13.3f %13.3f dts=%12.3f var=%7.3f svh=%02X\n",
+        //printf("%s sat=%2d rs=%13.3f %13.3f %13.3f dts=%12.3f var=%7.3f svh=%2d\n",
         //      time_str(time[i],6),obs[i].sat,rs[i*6],rs[1+i*6],rs[2+i*6],
         //      dts[i*2]*1E9,var[i],svh[i]);
     }
diff --git a/src/pntpos.c b/src/pntpos.c
index 3181d4465c7358204b8d790868f9a789a6038b3b..e67beeff24737ca9029b34f4bea231c11ceb5db7 100644
--- a/src/pntpos.c
+++ b/src/pntpos.c
@@ -315,7 +315,6 @@ static int rescode(int iter, const obsd_t *obs, int n, const double *rs,
         }
         //printf(" OK\n");
 
-        //printf(" OK!\n");
         /* pseudorange residual */
         v[nv]=P-(r+dtr-CLIGHT*dts[i*2]+dion+dtrp);
         
@@ -441,7 +440,8 @@ static int estpos(const obsd_t *obs, int n, const double *rs, const double *dts,
         /* pseudorange residuals */
         nv=rescode(i,obs,n,rs,dts,vare,svh,nav,x,opt,ssat,v,H,var,azel,vsat,resp,
                    &ns);
-        
+        //printf("estpos: iteration %d, nv = %d\n", i, nv);
+
         if (nv<NX) {
             //sprintf(msg,"lack of valid sats ns=%d",nv);
             sprintf(msg,"lack of valid sats ns=%d, nv=%2d",ns, nv);//JV