diff --git a/fix_fits_header.pro b/fix_fits_header.pro
index 0e0bd371b712de4ae347d3a16c4271a8bfb2d40e..973ecaaca075e948837fc32c66cdaad3b566f9f9 100644
--- a/fix_fits_header.pro
+++ b/fix_fits_header.pro
@@ -1,7 +1,7 @@
 pro fix_fits_header, filename
     fits_info, filename, n_ext = n_ext, /silent
     for ext = 0, n_ext do begin
-        data = readfits(filename, header, exten_no = ext, /silent)
+        data = readfits(filename, header, exten_no = ext, /noscale, /silent)
         for k = 0, n_elements(header) - 1 do begin
             while header[k].matches('\/  +') do begin
                 header[k] = header[k].replace('/  ', '/ ')
diff --git a/metis_l1_prep.pro b/metis_l1_prep.pro
index 4df21dcfa4fe13ebc171527554613c3e51298cbb..7d03b4e671fa3d0993769b6837366c1e0978ed1d 100755
--- a/metis_l1_prep.pro
+++ b/metis_l1_prep.pro
@@ -68,7 +68,8 @@ pro metis_l1_prep
 
     ; if the data product is a light curve or a pcu-event list, read the data binary hk_table
 
-    if datatype gt 6 then data_bin_table = mrdfits(input.file_name, 1, data_extension_header, /silent) else data_bin_table = !null
+    if datatype gt 6 then $
+        data_bin_table = mrdfits(input.file_name, 1, data_extension_header, /silent) else data_bin_table = !null
 
     ; if the data product is an accumulation matrix, look for the accumulation vector extension and read it if it exists
 
@@ -297,6 +298,20 @@ pro metis_l1_prep
 
     ; adjust the primary header (it is almost the same for all data product types)
 
+    ; remove redundant and misleading keywords
+
+    sxdelpar, primary_header, 'WIDTH'
+    sxdelpar, primary_header, 'HEIGHT'
+    sxdelpar, primary_header, 'X_SIZE'
+    sxdelpar, primary_header, 'Y_SIZE'
+    sxdelpar, primary_header, 'Z_SIZE'
+    sxdelpar, primary_header, 'P_BANDS'
+    sxdelpar, primary_header, 'N_BANDS'
+    sxdelpar, primary_header, 'ORIG_X'
+    sxdelpar, primary_header, 'ORIG_Y'
+
+    ; update the other keywords
+
     fxaddpar, primary_header, 'FILENAME', file_name
     fxaddpar, primary_header, 'PARENT', file_basename(input.file_name), 'name of the parent file', before = 'APID'
     fxaddpar, primary_header, 'DATE', date, 'date and time of FITS file creation', before = 'OBT_BEG'
@@ -315,7 +330,7 @@ pro metis_l1_prep
     fxaddpar, primary_header, 'OBSRVTRY', 'Solar Orbiter', 'satellite name', before = 'INSTRUME'
     fxaddpar, primary_header, 'TELESCOP', telescope, 'telescope that took the measurement', before = 'INSTRUME'
     fxaddpar, primary_header, 'DETECTOR', detector, 'subunit/sensor', before = 'DATAMIN'
-    fxaddpar, primary_header, 'OBJECT', 'TBD', 'the use of the keyword OBJECT is [TBD]', before = 'DATAMIN'
+    fxaddpar, primary_header, 'OBJECT', 'Sun', 'the use of the keyword OBJECT is [TBD]', before = 'DATAMIN'
     fxaddpar, primary_header, 'OBS_MODE', planning_data.obs_mode, 'observation mode', before = 'DATAMIN'
     fxaddpar, primary_header, 'OBS_TYPE', obs_type, 'encoded version of OBS_MODE', before = 'DATAMIN'
     fxaddpar, primary_header, 'FILTER', filter, 'filter used to acquire this image', before = 'DATAMIN'
@@ -329,7 +344,7 @@ pro metis_l1_prep
     fxaddpar, primary_header, 'SOOPNAME', planning_data.soop_name, 'name of the SOOP that the data belong to', before = 'DATAMIN'
     fxaddpar, primary_header, 'SOOPTYPE', sooptype, 'campaign ID(s) that the data belong to', before = 'DATAMIN'
     fxaddpar, primary_header, 'OBS_ID', planning_data.obs_id, 'unique ID of the individual observation', before = 'DATAMIN'
-    fxaddpar, primary_header, 'TARGET', 'TBD', 'type of target from planning', before = 'DATAMIN'
+    fxaddpar, primary_header, 'TARGET', 'Corona', 'type of target from planning', before = 'DATAMIN'
     fxaddpar, primary_header, 'BSCALE', 1, 'ratio of physical to array value at 0 offset', before = 'DATAMIN'
     fxaddpar, primary_header, 'BZERO', 0, 'physical value for the array value 0', before = 'DATAMIN'
     fxaddpar, primary_header, 'BTYPE', metis_datatype[datatype], 'science data object type', before = 'DATAMIN'
@@ -412,7 +427,7 @@ pro metis_l1_prep
 
     if empty_params eq !null then empty_params = ''
 
-    ; replace with text keyword values
+    ; replace with user-friendly keyword values
 
     key = fxpar(primary_header, 'MEASKIND', count = count)
     if count gt 0 then begin
@@ -467,31 +482,24 @@ pro metis_l1_prep
 
     if datatype le 6 then begin
         wcs = metis_wcs(header, cal_pack, ref_detector = ref_detector)
-        foreach element, wcs do fxaddpar, primary_header, element.name, element.value, element.comment, before = 'DATATYPE'
+        foreach element, wcs do $
+            fxaddpar, primary_header, element.name, element.value, element.comment, before = 'DATATYPE'
     endif
 
     ; append solar keywords
 
     ephemeris = solo_get_ephemeris(header, cal_pack)
-    foreach element, ephemeris do fxaddpar, primary_header, element.name, element.value, element.comment, before = 'DATATYPE'
-
-    fxaddpar, primary_header, 'HISTORY', 'WCS and solar ephemeris:'
-    fxaddpar, primary_header, 'HISTORY', '  SKD version = ' + kernel_version
-
-    ; remove redundant and misleading keywords
-
-    sxdelpar, primary_header, 'WIDTH'
-    sxdelpar, primary_header, 'HEIGHT'
-    sxdelpar, primary_header, 'X_SIZE'
-    sxdelpar, primary_header, 'Y_SIZE'
-    sxdelpar, primary_header, 'Z_SIZE'
-    sxdelpar, primary_header, 'P_BANDS'
-    sxdelpar, primary_header, 'N_BANDS'
-    sxdelpar, primary_header, 'ORIG_X'
-    sxdelpar, primary_header, 'ORIG_Y'
+    foreach element, ephemeris do $
+        fxaddpar, primary_header, element.name, element.value, element.comment, before = 'DATATYPE'
 
     ; modify keywords for file history
 
+    history = header.history
+    sxdelpar, primary_header, 'HISTORY'
+    for k = 1, n_elements(history) - 1 do $
+        fxaddpar, primary_header, 'HISTORY', history[k]
+    fxaddpar, primary_header, 'HISTORY', 'WCS and solar ephemeris:'
+    fxaddpar, primary_header, 'HISTORY', '  SKD version = ' + kernel_version
     fxaddpar, primary_header, 'HISTORY', 'L1 FITS file created on ' + date
 
     ; modify keywords for comments
@@ -512,14 +520,12 @@ pro metis_l1_prep
             fxaddpar, primary_header, 'COMMENT', comment[k]
     endif
 
-    ; rectify the image if requested
+    ; make rotations if necessary
 
-    if not ref_detector then begin
-        data = metis_rectify(data, filter)
-        quality_matrix = metis_rectify(quality_matrix, filter)
-    endif
+    if not ref_detector then data = metis_rectify(data, filter)
+    if not ref_detector then quality_matrix = metis_rectify(quality_matrix, filter)
 
-    ; add checksum and datasum to the fits header and save
+    ; write the fits file
 
     fits_add_checksum, primary_header, data
     mwrfits, data, out_file_name, primary_header, /no_comment, /create, /silent
@@ -586,5 +592,6 @@ pro metis_l1_prep
 
     journal, 'Exiting without errors.'
     journal
+
     exit, status = 0
 end
\ No newline at end of file