diff --git a/+tests/+ric/save.m b/+tests/+ric/save.m
index c5a8df7f70dcb1483b969a5897937a77e146c513..0cbbe07632e543190d626905a0afbf9a2652f298 100644
--- a/+tests/+ric/save.m
+++ b/+tests/+ric/save.m
@@ -11,8 +11,8 @@ rfb = artoa.load.rfb(dataFileName);
 
 data = [];
 data(:, 1) = rfb.DATA(1:13, rfb.VARIABLE_LIST.time_of_arrival(1));
-data(:, 2) = str2num(cell2mat(rfb.SAT_DATA(:, 1)));
-data(:, 3) = str2num(cell2mat(rfb.SAT_DATA(:, 2)));
+data(:, 2) = rfb.SAT_DATA(1:13, rfb.SAT_FORMAT.lat_sat);
+data(:, 3) = rfb.SAT_DATA(1:13, rfb.SAT_FORMAT.lon_sat);
 data(:, 4) = rfb.DATA(1:13, rfb.VARIABLE_LIST.temperature);
 data(:, 5) = rfb.DATA(1:13, rfb.VARIABLE_LIST.pressure);
 
diff --git a/+tests/+trj4/save.m b/+tests/+trj4/save.m
index 24f6dd0f1a2dbdc604c56640a5a590b25836a8dd..4b6b65bd386a2a1c40b998a365b33024847fc444 100644
--- a/+tests/+trj4/save.m
+++ b/+tests/+trj4/save.m
@@ -13,13 +13,14 @@ header = "Created in 2019" + newline + "a multiline test header";
 
 data = [];
 data(:, 1) = rfb.DATA(1:13, rfb.VARIABLE_LIST.time_of_arrival(1));
-data(:, 2) = str2num(cell2mat(rfb.SAT_DATA(:, 1)));
-data(:, 3) = str2num(cell2mat(rfb.SAT_DATA(:, 2)));
+data(:, 2) = rfb.SAT_DATA(1:13, rfb.SAT_FORMAT.lat_sat);
+data(:, 3) = rfb.SAT_DATA(1:13, rfb.SAT_FORMAT.lon_sat);
 data(:, 4) = rfb.DATA(1:13, rfb.VARIABLE_LIST.temperature);
 data(:, 5) = rfb.DATA(1:13, rfb.VARIABLE_LIST.pressure);
 data(:, 6) = rfb.DATA(1:13, rfb.VARIABLE_LIST.pressure);
 data(:, 7) = rfb.DATA(1:13, rfb.VARIABLE_LIST.temperature);
 
+
 saveToFilename = fullfile(currentDirectory, '..', 'testdata', 'output', 'testOutput.trj4');
 
 success = artoa.save.trj4(saveToFilename, header, data);
diff --git a/lib/+artoa/+save/rfc.m b/lib/+artoa/+save/rfc.m
index 965b3914b73c02684e8c04fcf6e6dc28252da969..84144d5bef743661a48b2320345b50c5d5c915d3 100644
--- a/lib/+artoa/+save/rfc.m
+++ b/lib/+artoa/+save/rfc.m
@@ -95,6 +95,12 @@ floatCycleEndTimeRafosDays = num2str( ...
 );
 floatCycleEndTime = num2str(floatCycleEndTime);
 
+if size(pFloatDetails.offset, 1) > 1
+    floatOffsetEnd = pFloatDetails.offset(2,end);
+else
+    floatOffsetEnd = NaN;
+end
+
 header = { ...
     ['** Float: ' floatname], ...
     ['** Variables: InterpFlag LineNum RafosDay  Temp  Pres  Lat  Lon  U     V     W'], ...
@@ -109,7 +115,7 @@ header = { ...
     ['** Launch time                  : ' launchTime ' (RAFOS day ' launchTimeRafosDays ')'], ...
     ['** Cycle End time               : ' floatCycleEndTime ' (RAFOS day ' floatCycleEndTimeRafosDays ')'], ...
     ['** First surface Position time  : ' recoverTime ' (RAFOS day ' recoverTimeRafosDays ')'], ...
-    ['** Float clock offset (init/final)  : ' num2str(pFloatDetails.offset(1,end)) ' / ' num2str(pFloatDetails.offset(2,end)),' seconds'], ...
+    ['** Float clock offset (init/final)  : ' num2str(pFloatDetails.offset(1,end)) ' / ' num2str(floatOffsetEnd),' seconds'], ...
     ['** -------'] ...
 };
 
diff --git a/lib/+artoa/+save/ric.m b/lib/+artoa/+save/ric.m
index 37c115e523b00b3c3c0ab944596472be34699336..7420290a8c6dd665c99054911bf34b5667f9cfea 100644
--- a/lib/+artoa/+save/ric.m
+++ b/lib/+artoa/+save/ric.m
@@ -49,7 +49,7 @@ defaultValue = -999;
 for i = 1:size(pData, 2)
     nanIndex = find(isnan(pData(:, i)));
     if ~isempty(nanIndex)
-        pData(nanIndex, i) = repmat(defaultValue, 1, size(pData, 1));
+        pData(nanIndex, i) = defaultValue;
     end
     clear nanIndex;
 end
diff --git a/lib/+artoa/+save/trj4.m b/lib/+artoa/+save/trj4.m
index ccadd05c56b6431521bccbefe6803d03b8542c6f..624ae3def341c45e451db445770c982f1e27aa76 100644
--- a/lib/+artoa/+save/trj4.m
+++ b/lib/+artoa/+save/trj4.m
@@ -45,7 +45,7 @@ defaultValue = -999;
 for i = 1:size(pData, 2)
     nanIndex = find(isnan(pData(:, i)));
     if ~isempty(nanIndex)
-        pData(nanIndex, i) = repmat(defaultValue, 1, size(pData, 1));
+        pData(nanIndex, i) = defaultValue;
     end
     clear nanIndex;
 end