diff --git a/modules/icing/pirep_goes.py b/modules/icing/pirep_goes.py
index 206f0b969ee7ea060e6eaf14125142ed151cfb11..248105c5f3e34a37368326cf070b0a286e2323ba 100644
--- a/modules/icing/pirep_goes.py
+++ b/modules/icing/pirep_goes.py
@@ -1042,13 +1042,13 @@ def run_qc(filename, filename_l1b, day_night='ANY', pass_thresh_frac=0.20, icing
 
     for i in range(len(mask)):
         keep_idxs.append(idxs[i])
-        # # frac = np.sum(mask[i]) / nx_x_ny
-        # frac = np.sum(mask[i]) / num_tested[i]
-        # if icing:
-        #     if frac > pass_thresh_frac:
-        #         keep_idxs.append(idxs[i])
-        # elif frac > pass_thresh_frac:
-        #     keep_idxs.append(idxs[i])
+        # frac = np.sum(mask[i]) / nx_x_ny
+        frac = np.sum(mask[i]) / num_tested[i]
+        if icing:
+            if frac > pass_thresh_frac:
+                keep_idxs.append(idxs[i])
+        elif frac > pass_thresh_frac:
+            keep_idxs.append(idxs[i])
 
     print('day_night, icing, all, valid, pass: ', day_night, icing, len(icing_alt), len(mask), len(keep_idxs))
     print('-----------------------')
@@ -1241,6 +1241,7 @@ def apply_qc_icing_pireps(icing_alt, cld_top_hgt, cld_geo_dz, cld_phase, cld_opd
     cld_top_hgt = cld_top_hgt.reshape((num_obs, -1))
     cld_geo_dz = cld_geo_dz.reshape((num_obs, -1))
     bt_11um = bt_11um.reshape((num_obs, -1))
+    cld_top_temp = cld_top_temp.reshape((num_obs, -1))
 
     mask = []
     idxs = []
@@ -1271,25 +1272,26 @@ def apply_qc_icing_pireps(icing_alt, cld_top_hgt, cld_geo_dz, cld_phase, cld_opd
         if num_keep / nx_x_ny < cloud_fraction:  # At least this fraction cloudy
             continue
 
-        # keep = np.where(keep, (cld_top_hgt[i,] + closeness_top) > icing_alt[i], False)
+        keep = np.where(keep, (cld_top_hgt[i,] + closeness_top) > icing_alt[i], False)
         # keep = np.where(keep, cld_top_hgt[i,]  < max_cld_altitude, False)
-        # keep = np.where(keep, (cld_top_hgt[i,] - max_cld_depth) < icing_alt[i], False)
+        keep = np.where(keep, (cld_top_hgt[i,] - max_cld_depth) < icing_alt[i], False)
 
         # keep = np.where(keep, np.logical_and(bt_11um[i,] > 228.0, bt_11um[i,] < 270.0), False)
         # keep = np.where(keep, bt_11um[i,] < 275.0, False)
+        keep = np.where(keep, cld_top_temp[i,] < 275.0, False)
 
-        cld_hgt = cld_top_hgt[i, ].flatten()
-        med_cld_hgt = np.median(cld_hgt[keep])
-        if icing_alt[i] > med_cld_hgt:
-            continue
-
-        cld_tmp = cld_top_temp[i, ].flatten()
-        med_cld_tmp = np.median(cld_tmp[keep])
-        if med_cld_tmp > 275.0:
-            continue
-
-        if icing_alt[i] < med_cld_hgt - max_cld_depth:
-            continue
+        # cld_hgt = cld_top_hgt[i, ].flatten()
+        # med_cld_hgt = np.median(cld_hgt[keep])
+        # if icing_alt[i] > med_cld_hgt:
+        #     continue
+        #
+        # cld_tmp = cld_top_temp[i, ].flatten()
+        # med_cld_tmp = np.median(cld_tmp[keep])
+        # if med_cld_tmp > 275.0:
+        #     continue
+        #
+        # if icing_alt[i] < med_cld_hgt - max_cld_depth:
+        #     continue
 
         mask.append(keep)
         idxs.append(i)
@@ -1317,6 +1319,7 @@ def apply_qc_no_icing_pireps(icing_alt, cld_top_hgt, cld_geo_dz, cld_phase, cld_
     cld_top_hgt = cld_top_hgt.reshape((num_obs, -1))
     cld_geo_dz = cld_geo_dz.reshape((num_obs, -1))
     bt_11um = bt_11um.reshape((num_obs, -1))
+    cld_top_temp = cld_top_temp.reshape((num_obs, -1))
 
     mask = []
     idxs = []
@@ -1347,25 +1350,26 @@ def apply_qc_no_icing_pireps(icing_alt, cld_top_hgt, cld_geo_dz, cld_phase, cld_
         if num_keep / nx_x_ny < cloudy_frac:  # At least this fraction cloudy
             continue
 
-        # keep = np.where(keep, (cld_top_hgt[i,] + closeness_top) > icing_alt[i], False)
+        keep = np.where(keep, (cld_top_hgt[i,] + closeness_top) > icing_alt[i], False)
         # keep = np.where(keep, cld_top_hgt[i,]  < max_cld_altitude, False)
-        # keep = np.where(keep, (cld_top_hgt[i,] - max_cld_depth) < icing_alt[i], False)
+        keep = np.where(keep, (cld_top_hgt[i,] - max_cld_depth) < icing_alt[i], False)
 
         # keep = np.where(keep, np.logical_and(bt_11um[i,] > 228.0, bt_11um[i,] < 270.0), False)
         # keep = np.where(keep, bt_11um[i,] < 275.0, False)
+        keep = np.where(keep, cld_top_temp[i,] < 275.0, False)
 
-        cld_hgt = cld_top_hgt[i, ].flatten()
-        med_cld_hgt = np.median(cld_hgt[keep])
-        if icing_alt[i] > med_cld_hgt:
-            continue
-
-        cld_tmp = cld_top_temp[i, ].flatten()
-        med_cld_tmp = np.median(cld_tmp[keep])
-        if med_cld_tmp > 275.0:
-            continue
-
-        if icing_alt[i] < med_cld_hgt - max_cld_depth:
-            continue
+        # cld_hgt = cld_top_hgt[i, ].flatten()
+        # med_cld_hgt = np.median(cld_hgt[keep])
+        # if icing_alt[i] > med_cld_hgt:
+        #     continue
+        #
+        # cld_tmp = cld_top_temp[i, ].flatten()
+        # med_cld_tmp = np.median(cld_tmp[keep])
+        # if med_cld_tmp > 275.0:
+        #     continue
+        #
+        # if icing_alt[i] < med_cld_hgt - max_cld_depth:
+        #     continue
 
         mask.append(keep)
         idxs.append(i)