Index: /trunk/BNC/src/rinex/availplot.cpp
===================================================================
--- /trunk/BNC/src/rinex/availplot.cpp	(revision 4590)
+++ /trunk/BNC/src/rinex/availplot.cpp	(revision 4591)
@@ -56,5 +56,5 @@
     const QString&         prn       = it.key();
     const t_availData&     availData = it.value();
-    const QVector<double>& epochs    = availData._epoL1;
+    const QVector<double>& epochs    = availData._L1ok;
 
     scaleDrawPrn->_yLabels[iC] = prn;
Index: /trunk/BNC/src/rinex/reqcanalyze.cpp
===================================================================
--- /trunk/BNC/src/rinex/reqcanalyze.cpp	(revision 4590)
+++ /trunk/BNC/src/rinex/reqcanalyze.cpp	(revision 4591)
@@ -375,18 +375,18 @@
   t_allObs& allObs = _allObsMap[prn];
 
-  bncTime currTime;
-  bncTime prevTime;
-
+  // Loop over all Chunks of Data
+  // ----------------------------
   for (int chunkStart = 0; chunkStart + numEpo < allObs._oneObsVec.size();
        chunkStart += chunkStep) {
 
-
-    // Compute Mean
-    // ------------
+    // Chunk-Speicific Variables 
+    // -------------------------
+    bncTime currTime;
+    bncTime prevTime;
     bncTime chunkStartTime;
     bool    availL1  = false;
     bool    availL2  = false;
-    bool    missL1   = false;
-    bool    missL2   = false;
+    bool    gapL1    = false;
+    bool    gapL2    = false;
     bool    slipFlag = false;
     double  meanMP1  = 0.0;
@@ -397,4 +397,6 @@
     double  zenDeg   = 0.0;
 
+    // Loop over all Epochs within one Chunk of Data
+    // ---------------------------------------------
     for (int ii = 0; ii < numEpo; ii++) {
       int iEpo = chunkStart + ii;
@@ -433,11 +435,10 @@
       // Check Interval
       // --------------
-      double dt = 0.0;
       if (prevTime.valid()) {
-        dt = currTime - prevTime;
-      }
-      if (dt != obsInterval) {
-        missL1 = true;
-        missL2 = true;
+        double dt = currTime - prevTime;
+        if (dt != obsInterval) {
+          gapL1 = true;
+          gapL2 = true;
+        }
       }
       prevTime = currTime;
@@ -449,5 +450,5 @@
       }
       else {
-        missL1 = true;
+        gapL1 = true;
       }
       if (oneObs->_hasL2) {
@@ -455,5 +456,5 @@
       }
       else {
-        missL2 = true;
+        gapL2 = true;
       }
 
@@ -483,6 +484,26 @@
     // Availability Plot Data
     // ----------------------
+    double mjd = chunkStartTime.mjddec();
     if (availL1) {
-      _availDataMap[prn]._epoL1 << chunkStartTime.mjddec();
+      if      (slipFlag) {
+        _availDataMap[prn]._L1slip << mjd;
+      }
+      else if (gapL1) {
+        _availDataMap[prn]._L1gap << mjd;
+      }
+      else {
+        _availDataMap[prn]._L1ok << mjd;
+      }
+    }
+    if (availL2) {
+      if      (slipFlag) {
+        _availDataMap[prn]._L2slip << mjd;
+      }
+      else if (gapL2) {
+        _availDataMap[prn]._L2gap << mjd;
+      }
+      else {
+        _availDataMap[prn]._L2ok << mjd;
+      }
     }
 
Index: /trunk/BNC/src/rinex/reqcanalyze.h
===================================================================
--- /trunk/BNC/src/rinex/reqcanalyze.h	(revision 4590)
+++ /trunk/BNC/src/rinex/reqcanalyze.h	(revision 4591)
@@ -36,5 +36,10 @@
 class t_availData {
  public:
-  QVector<double> _epoL1;
+  QVector<double> _L1ok;
+  QVector<double> _L2ok;
+  QVector<double> _L1slip;
+  QVector<double> _L2slip;
+  QVector<double> _L1gap;
+  QVector<double> _L2gap;
 };
 
