diff --git a/src/rtcm3e.c b/src/rtcm3e.c
index f4e7dc6e63cdf5872606f93c6bfcf9ac76a8063c..1298a86df8082cfc98f76c26bd362af226689ada 100644
--- a/src/rtcm3e.c
+++ b/src/rtcm3e.c
@@ -102,7 +102,7 @@ static int fcn_glo(int sat, rtcm_t *rtcm, int obs_index)
     } else {
         /* if freq slot not available from nav data check MSM obs data */
         fcn=(int)rtcm->obs.data[obs_index].freq;
-        if (fcn>13) fcn=-1;  // set invalid result flag */
+        if (fcn>13) fcn=-1;  /* set invalid result flag */
     }
     return fcn;
 }
diff --git a/src/rtkpos.c b/src/rtkpos.c
index 86a0070dbff660fc31a3076e402314f69cefc0b6..f32793f79de14ef431d2119683443e591bbff49c 100644
--- a/src/rtkpos.c
+++ b/src/rtkpos.c
@@ -1798,8 +1798,9 @@ static int manage_amb_LAMBDA(rtk_t *rtk, double *bias, double *xa, const int *sa
 
     /* find and count sats used last time for AR */
     for (f=0;f<nf;f++) for (i=0;i<ns;i++) 
-            if (rtk->ssat[sat[i]-1].vsat[f]&&rtk->ssat[sat[i]-1].lock[f]>0)
+            if (rtk->ssat[sat[i]-1].vsat[f] && rtk->ssat[sat[i]-1].lock[f]>=0 && rtk->ssat[sat[i]-1].azel[1]>=rtk->opt.elmin) {
                 arsats[ar++]=i;
+            }
 
     /* if no fix on previous sample and enough sats, exclude next sat in list */
     trace(3,"num sats used last AR: %d\n",ar);