diff --git a/src/processor/processor_tracker_gnss.cpp b/src/processor/processor_tracker_gnss.cpp
index 070e48d973db98766dfd6527e3aa0dfb3103e5ab..c382cba77af6e4886d948e6060e7c59dc8484653 100644
--- a/src/processor/processor_tracker_gnss.cpp
+++ b/src/processor/processor_tracker_gnss.cpp
@@ -25,8 +25,13 @@ void ProcessorTrackerGnss::preProcess()
     fix_incoming_(3) = fix_output.rcv_bias(0);
 
     // Set ECEF-ENU
-    if (!sensor_gnss_->isEnuDefined())
-        sensor_gnss_->setEcefEnu(Eigen::Vector3d::Zero(),true);
+    if (!sensor_gnss_->isEnuDefined() and fix_output.stat != 0)
+    {
+        WOLF_INFO("setting ECEF-ENU: ", fix_output.pos.transpose());
+        sensor_gnss_->setEcefEnu(fix_output.pos,true);
+        //sensor_gnss_->setEcefEnu(Eigen::Vector3d::Zero(),true);
+        WOLF_INFO("ECEF-ENU set: ", sensor_gnss_->gettEnuEcef().transpose(), "\n", sensor_gnss_->getREnuEcef());
+    }
 
     WOLF_INFO("TS: ", incoming_ptr_->getTimeStamp(), " - Fix solution (ECEF): ", fix_incoming_.transpose());