diff --git a/include/gnss_utils/gnss_utils.h b/include/gnss_utils/gnss_utils.h
index f2be565b6b02918ad3fc577d6f4375b3bd20422b..66228d6b3bd1f4a07ad27de52d41f93939fa6744 100644
--- a/include/gnss_utils/gnss_utils.h
+++ b/include/gnss_utils/gnss_utils.h
@@ -42,7 +42,8 @@ struct ComputePosOutput
   double          age;        // age of differential (s)
   double          ratio;      // AR ratio factor for valiation
 
-  int             pos_stat;  // return from pntpos 1:ok,0:error
+  bool            success;   // return from pntpos true/false
+  std::string     msg;       // message returned (in case of error)
   Eigen::Vector3d lat_lon;   // latitude_longitude_altitude
 
   std::map<int,Eigen::Vector2d> sat_azel; // azimuth and elevation of each satellite provided
diff --git a/src/utils/rcv_position.cpp b/src/utils/rcv_position.cpp
index 73c42e77d4108b99c5e34bc5cfabebd96b128e44..cfa392ac4d0085b61006af7ea74723ad617d1603 100644
--- a/src/utils/rcv_position.cpp
+++ b/src/utils/rcv_position.cpp
@@ -36,19 +36,17 @@ ComputePosOutput computePos(const GnssUtils::Observations& _observations,
   std::vector<double> sat_elevations(2 * _observations.size());
 
   // compute pose
-  output.pos_stat = pntpos(_observations.data(),
-                           _observations.size(),
-                           &(_navigation.getNavigation()),
-                           &_prcopt,
-                           &sol,
-                           sat_elevations.data(),
-                           sats_status,
-                           msg);
+  output.success = pntpos(_observations.data(),
+                          _observations.size(),
+                          &(_navigation.getNavigation()),
+                          &_prcopt,
+                          &sol,
+                          sat_elevations.data(),
+                          sats_status,
+                          msg);
 
   // Fill output struct
-  if (output.pos_stat == 0)
-    std::cout << "computePos: error in computing positioning, message: " << msg << "\n";
-
+  output.msg  = std::string(msg);
   output.time = sol.time.time;
   output.sec  = sol.time.sec;
   output.pos  = Eigen::Vector3d(sol.rr);