diff --git a/src/pntpos.c b/src/pntpos.c
index e67beeff24737ca9029b34f4bea231c11ceb5db7..3b32eb197d919254014d0c8d76b7e643a2cf3580 100644
--- a/src/pntpos.c
+++ b/src/pntpos.c
@@ -470,7 +470,11 @@ static int estpos(const obsd_t *obs, int n, const double *rs, const double *dts,
             for (j=0;j<3;j++) sol->qr[j]=(float)Q[j+j*NX];
             sol->qr[3]=(float)Q[1];    /* cov xy */
             sol->qr[4]=(float)Q[2+NX]; /* cov yz */
-            sol->qr[5]=(float)Q[2];    /* cov zx */
+            sol->qr[5]=(float)Q[2];    /* cov xz */
+            for (j=3;j<7;j++) sol->qdtr[j-3]=(float)Q[j+j*NX];
+            sol->qdtr[4]=(float)Q[3];     /* cov xdt*/
+            sol->qdtr[5]=(float)Q[3+NX];  /* cov ydt*/
+            sol->qdtr[6]=(float)Q[3+2*NX];/* cov zdt*/
             sol->ns=(unsigned char)ns;
             sol->age=sol->ratio=0.0;
             
diff --git a/src/rtklib.h b/src/rtklib.h
index 0a60b2b494bee90d86de5f6ef74a52ec56f52ab3..86bbb94b1d1322e88d55884ae8b2bc6edaa0b6b7 100644
--- a/src/rtklib.h
+++ b/src/rtklib.h
@@ -962,6 +962,8 @@ typedef struct {        /* solution type */
                         /* {c_ee,c_nn,c_uu,c_en,c_nu,c_ue} */
     float  qv[6];       /* velocity variance/covariance (m^2/s^2) */
     double dtr[6];      /* receiver clock bias to time systems (s) */
+    float  qdtr[7];     /* receiver clock bias to time systems variance/covariance*/
+                        /* {c_dtdt, c_GPS_GLO, c_GPS_GAL, c_GPS_CMP, c_xdt, c_ydt, czdt}*/
     unsigned char type; /* type (0:xyz-ecef,1:enu-baseline) */
     unsigned char stat; /* solution status (SOLQ_???) */
     unsigned char ns;   /* number of valid satellites */