Index: /trunk/BNC/src/PPP/pppClient.cpp
===================================================================
--- /trunk/BNC/src/PPP/pppClient.cpp	(revision 6034)
+++ /trunk/BNC/src/PPP/pppClient.cpp	(revision 6035)
@@ -157,14 +157,10 @@
   // Create vector of valid observations
   // -----------------------------------
-  int numValidGPS = 0;
   for (unsigned ii = 0; ii < satObs.size(); ii++) {
     char system = satObs[ii]->_prn.system();
-    if (system == 'G' || (system == 'R' && OPT->useGlonass())) {
+    if (OPT->useSystem(system)) {
       t_pppSatObs* pppSatObs = new t_pppSatObs(*satObs[ii]);
       if (pppSatObs->isValid()) {
         obsVector.push_back(pppSatObs);
-        if (pppSatObs->prn().system() == 'G') {
-          ++numValidGPS;
-        }
       }
       else {
@@ -283,5 +279,5 @@
   double     offGG = 0.0;
 
-  if (OPT->useGlonass()) {
+  if (OPT->useSystem('R')) {
 
     while (obsVector.size() > 0) {
Index: /trunk/BNC/src/PPP/pppOptions.cpp
===================================================================
--- /trunk/BNC/src/PPP/pppOptions.cpp	(revision 6034)
+++ /trunk/BNC/src/PPP/pppOptions.cpp	(revision 6035)
@@ -90,4 +90,5 @@
   if (_LCsGPS.size()     > 0) answ.push_back('G');
   if (_LCsGLONASS.size() > 0) answ.push_back('R');
+  if (_LCsGalileo.size() > 0) answ.push_back('E');
   return answ;
 }
Index: /trunk/BNC/src/PPP/pppOptions.h
===================================================================
--- /trunk/BNC/src/PPP/pppOptions.h	(revision 6034)
+++ /trunk/BNC/src/PPP/pppOptions.h	(revision 6035)
@@ -14,9 +14,9 @@
   ~t_pppOptions();
 
+  std::vector<char>              systems() const;
   const std::vector<t_lc::type>& LCs(char system) const;
+  std::vector<t_lc::type>        ambLCs(char system) const;
+  bool useSystem(char system) const {return LCs(system).size() > 0;}
   bool useOrbClkCorr() const;
-  std::vector<char> systems() const;
-  std::vector<t_lc::type> ambLCs(char system) const;
-  bool useGlonass() const  {return _LCsGLONASS.size() > 0;}
   bool estTrp() const {return _aprSigTrp > 0.0 || _noiseTrp > 0.0;}
   bool xyzAprRoverSet() const {
Index: /trunk/BNC/src/PPP/pppParlist.cpp
===================================================================
--- /trunk/BNC/src/PPP/pppParlist.cpp	(revision 6034)
+++ /trunk/BNC/src/PPP/pppParlist.cpp	(revision 6035)
@@ -301,5 +301,5 @@
   // GPS-Glonass Clock Offset
   // ------------------------
-  if (OPT->useGlonass()) {
+  if (OPT->useSystem('R')) {
     required.push_back(new t_pppParam(t_pppParam::offGG, t_prn(), t_lc::dummy));
   }
Index: /trunk/BNC/src/PPP/pppSatObs.cpp
===================================================================
--- /trunk/BNC/src/PPP/pppSatObs.cpp	(revision 6034)
+++ /trunk/BNC/src/PPP/pppSatObs.cpp	(revision 6035)
@@ -85,5 +85,5 @@
   // Select pseudoranges and phase observations
   // ------------------------------------------
-  const string preferredAttrib = "CWP_";
+  const string preferredAttrib = "CWPX_";
 
   for (unsigned iFreq = 1; iFreq < t_frequency::max; iFreq++) {
@@ -105,5 +105,10 @@
   // --------------------
   _fType1 = t_lc::toFreq(_prn.system(),t_lc::l1);
-  _fType2 = t_lc::toFreq(_prn.system(),t_lc::l2);
+  if (_prn.system() == 'E') {
+    _fType2 = t_frequency::E5;
+  }
+  else {
+    _fType2 = t_lc::toFreq(_prn.system(),t_lc::l2);
+  }
 
   // Check whether all required frequencies available
