diff --git a/hw/ip/keymgr/dv/env/keymgr_env_cov.sv b/hw/ip/keymgr/dv/env/keymgr_env_cov.sv
index e791613..44872bc 100644
--- a/hw/ip/keymgr/dv/env/keymgr_env_cov.sv
+++ b/hw/ip/keymgr/dv/env/keymgr_env_cov.sv
@@ -76,7 +76,8 @@
                                                     keymgr_pkg::keymgr_ops_e op,
                                                     bit aes_sl_avail,
                                                     bit kmac_sl_avail,
-                                                    bit otbn_sl_avail);
+                                                    bit otbn_sl_avail,
+                                                    bit regwen);
     sideload_clear_cp: coverpoint sideload_clear {
       bins clear_none  = {0};
       bins clear_one[] = {[1:3]};
@@ -89,9 +90,12 @@
     aes_sl_avail_cp:   coverpoint aes_sl_avail;
     kmac_sl_avail_cp:  coverpoint kmac_sl_avail;
     otbn_sl_avail_cp:  coverpoint otbn_sl_avail;
+    regwen_cp:         coverpoint regwen;
+
     sideload_clear_x_state_op_cross: cross sideload_clear, state, op;
     sideload_clear_x_sl_avail_cross: cross sideload_clear_cp, aes_sl_avail, kmac_sl_avail,
                                            otbn_sl_avail;
+    sideload_clear_x_regwen_cross:   cross sideload_clear_cp, regwen_cp;
   endgroup
 
   covergroup err_code_cg with function sample(keymgr_pkg::keymgr_err_pos_e err_code);
diff --git a/hw/ip/keymgr/dv/env/keymgr_scoreboard.sv b/hw/ip/keymgr/dv/env/keymgr_scoreboard.sv
index 3c9b7d4..b64258d 100644
--- a/hw/ip/keymgr/dv/env/keymgr_scoreboard.sv
+++ b/hw/ip/keymgr/dv/env/keymgr_scoreboard.sv
@@ -410,6 +410,14 @@
         bit cfg_regwen = (current_op_status == keymgr_pkg::OpWip);
         if (csr.get_name() == "control") begin
           cov.control_w_regwen_cg.sample(item.a_data, cfg_regwen);
+        end else if (csr.get_name() == "sideload_clear") begin
+          cov.sideload_clear_cg.sample(`gmv(ral.sideload_clear.val),
+                                       current_state,
+                                       get_operation(),
+                                       cfg.keymgr_vif.aes_sideload_status == SideLoadAvail,
+                                       cfg.keymgr_vif.kmac_sideload_status == SideLoadAvail,
+                                       cfg.keymgr_vif.otbn_sideload_status == SideLoadAvail,
+                                       cfg_regwen);
         end else begin
           cov.sw_input_cg_wrap[csr.get_name()].sample(item.a_data, cfg_regwen);
         end
@@ -675,15 +683,6 @@
       end
       "sideload_clear": begin
         if (addr_phase_write) begin
-          if (cfg.en_cov) begin
-            cov.sideload_clear_cg.sample(`gmv(ral.sideload_clear.val),
-                                         current_state,
-                                         get_operation(),
-                                         cfg.keymgr_vif.aes_sideload_status == SideLoadAvail,
-                                         cfg.keymgr_vif.kmac_sideload_status == SideLoadAvail,
-                                         cfg.keymgr_vif.otbn_sideload_status == SideLoadAvail);
-          end
-
           fork
             begin
               cfg.clk_rst_vif.wait_clks(1);
