diff --git a/src/boards/Payload/StateMachines/NASController/NASController.cpp b/src/boards/Payload/StateMachines/NASController/NASController.cpp
index 2ea33a82c6561bea2f8abf4683d7e2e63aa04f4a..d5571e33053f4e07952debac7392ca2d27dbe5a0 100644
--- a/src/boards/Payload/StateMachines/NASController/NASController.cpp
+++ b/src/boards/Payload/StateMachines/NASController/NASController.cpp
@@ -115,13 +115,17 @@ void NASController::calibrate()
     ReferenceValues reference = nas.getReferenceValues();
     reference.refPressure     = pressure.getStats().mean;
 
+    // Set reference altitude using barometric measure
+    reference.refAltitude = Aeroutils::relAltitude(pressure.getStats().mean);
+
     // If in this moment the GPS has fix i use that position as starting
     UBXGPSData gps = Sensors::getInstance().getUbxGpsLastSample();
     if (gps.fix != 0)
     {
+        // We don't set the altitude with the GPS because of not precise
+        // measurements
         reference.refLatitude  = gps.latitude;
         reference.refLongitude = gps.longitude;
-        reference.refAltitude  = gps.height;
     }
 
     // Update the algorithm reference values