diff --git a/metis_l2_prep_uv.pro b/metis_l2_prep_uv.pro
index 1f14da91f12d61403837019805da71d8a848c339..1a55c861e219403b57a3ab784babc648a37bdfb6 100644
--- a/metis_l2_prep_uv.pro
+++ b/metis_l2_prep_uv.pro
@@ -152,6 +152,20 @@ pro metis_l2_prep_uv
 
 	sxdelpar, primary_header, 'BLANK'
 	
+	; fix planning info keywords
+
+	if header.soopname.startswith('unknown') then soopname = 'none' else soopname = header.soopname
+	if header.obs_mode.startswith('unknown') then obs_mode = 'none' else obs_mode = header.obs_mode
+	if soopname eq 'none' then sooptype = 'none' else sooptype = header.sooptype
+	if obs_mode eq 'none' then obs_type = 'none' else obs_type = header.obs_type
+	if soopname eq 'none' and obs_mode eq 'none' then obs_id = 'none' else obs_id = header.obs_id
+
+	fxaddpar, primary_header, 'SOOPNAME', soopname
+	fxaddpar, primary_header, 'SOOPTYPE', sooptype
+	fxaddpar, primary_header, 'OBS_MODE', obs_mode
+	fxaddpar, primary_header, 'OBS_TYPE', obs_type
+	fxaddpar, primary_header, 'OBS_ID',  obs_id
+
 	; append wcs keywords
 
 	wcs = metis_wcs(header, cal_pack, ref_detector = ref_detector)
diff --git a/metis_l2_prep_vl_generic.pro b/metis_l2_prep_vl_generic.pro
index 42fd62252018bd848250e4de6b55ec65d53795b8..810e0058df8f176e80de0bfa981d1c4ab3868500 100644
--- a/metis_l2_prep_vl_generic.pro
+++ b/metis_l2_prep_vl_generic.pro
@@ -171,6 +171,20 @@ pro metis_l2_prep_vl_generic
 
 	sxdelpar, primary_header, 'BLANK'
 	
+	; fix planning info keywords
+
+	if header.soopname.startswith('unknown') then soopname = 'none' else soopname = header.soopname
+	if header.obs_mode.startswith('unknown') then obs_mode = 'none' else obs_mode = header.obs_mode
+	if soopname eq 'none' then sooptype = 'none' else sooptype = header.sooptype
+	if obs_mode eq 'none' then obs_type = 'none' else obs_type = header.obs_type
+	if soopname eq 'none' and obs_mode eq 'none' then obs_id = 'none' else obs_id = header.obs_id
+
+	fxaddpar, primary_header, 'SOOPNAME', soopname
+	fxaddpar, primary_header, 'SOOPTYPE', sooptype
+	fxaddpar, primary_header, 'OBS_MODE', obs_mode
+	fxaddpar, primary_header, 'OBS_TYPE', obs_type
+	fxaddpar, primary_header, 'OBS_ID',  obs_id
+
 	; read the calibration curve to convert pmp raw voltages (dacpol) into effective polarization angles
 
 	dacpol_cal = cal_pack.vl_channel.dacpol_cal
diff --git a/metis_l2_prep_vl_polariz.pro b/metis_l2_prep_vl_polariz.pro
index f6f12406c208699bdbac8f1240499aa9f299486d..c6d39d39f0909366576d5f71afed21a0642baab6 100755
--- a/metis_l2_prep_vl_polariz.pro
+++ b/metis_l2_prep_vl_polariz.pro
@@ -350,6 +350,20 @@ pro metis_l2_prep_vl_polariz
 	fxaddpar, primary_header, 'TSENSOR', header.tsensor
 	fxaddpar, primary_header, 'PMPTEMP', header.pmptemp
 
+	; fix planning info keywords
+
+	if header.soopname.startswith('unknown') then soopname = 'none' else soopname = header.soopname
+	if header.obs_mode.startswith('unknown') then obs_mode = 'none' else obs_mode = header.obs_mode
+	if soopname eq 'none' then sooptype = 'none' else sooptype = header.sooptype
+	if obs_mode eq 'none' then obs_type = 'none' else obs_type = header.obs_type
+	if soopname eq 'none' and obs_mode eq 'none' then obs_id = 'none' else obs_id = header.obs_id
+
+	fxaddpar, primary_header, 'SOOPNAME', soopname
+	fxaddpar, primary_header, 'SOOPTYPE', sooptype
+	fxaddpar, primary_header, 'OBS_MODE', obs_mode
+	fxaddpar, primary_header, 'OBS_TYPE', obs_type
+	fxaddpar, primary_header, 'OBS_ID',  obs_id
+	
 	; append wcs keywords
 
 	wcs = metis_wcs(header, cal_pack, ref_detector = ref_detector)