diff --git a/hw/ip/alert_handler/dv/env/seq_lib/alert_handler_base_vseq.sv b/hw/ip/alert_handler/dv/env/seq_lib/alert_handler_base_vseq.sv
index 39b4272..41842d4 100644
--- a/hw/ip/alert_handler/dv/env/seq_lib/alert_handler_base_vseq.sv
+++ b/hw/ip/alert_handler/dv/env/seq_lib/alert_handler_base_vseq.sv
@@ -65,10 +65,10 @@
   endtask
 
   virtual task alert_handler_wr_clren_regs(bit [NUM_ALERT_HANDLER_CLASSES-1:0] clr_en);
-    csr_wr(.csr(ral.classa_clren), .value(clr_en[0]));
-    csr_wr(.csr(ral.classb_clren), .value(clr_en[1]));
-    csr_wr(.csr(ral.classc_clren), .value(clr_en[2]));
-    csr_wr(.csr(ral.classd_clren), .value(clr_en[3]));
+    if (!clr_en[0]) csr_wr(.csr(ral.classa_clren), .value($urandom_range(0, 1)));
+    if (!clr_en[1]) csr_wr(.csr(ral.classb_clren), .value($urandom_range(0, 1)));
+    if (!clr_en[2]) csr_wr(.csr(ral.classc_clren), .value($urandom_range(0, 1)));
+    if (!clr_en[3]) csr_wr(.csr(ral.classd_clren), .value($urandom_range(0, 1)));
   endtask
 
   // write regen register if do_lock_config is set. If not set, 50% of chance to write value 0
diff --git a/hw/ip/alert_handler/dv/env/seq_lib/alert_handler_common_vseq.sv b/hw/ip/alert_handler/dv/env/seq_lib/alert_handler_common_vseq.sv
index 2bde8e5..b361a72 100644
--- a/hw/ip/alert_handler/dv/env/seq_lib/alert_handler_common_vseq.sv
+++ b/hw/ip/alert_handler/dv/env/seq_lib/alert_handler_common_vseq.sv
@@ -8,6 +8,16 @@
   constraint num_trans_c {
     num_trans inside {[1:2]};
   }
+
+  constraint delay_to_reset_c {
+    delay_to_reset dist {
+        [1         :1000]       :/ 5,
+        [1001      :100_000]    :/ 1,
+        [100_001   :1_000_000]  :/ 1,
+        [1_000_001 :10_000_000] :/ 3
+    };
+  }
+
   `uvm_object_new
 
   virtual task body();
diff --git a/hw/ip/alert_handler/dv/env/seq_lib/alert_handler_entropy_vseq.sv b/hw/ip/alert_handler/dv/env/seq_lib/alert_handler_entropy_vseq.sv
index d27ffe6..6d01a81 100644
--- a/hw/ip/alert_handler/dv/env/seq_lib/alert_handler_entropy_vseq.sv
+++ b/hw/ip/alert_handler/dv/env/seq_lib/alert_handler_entropy_vseq.sv
@@ -20,7 +20,7 @@
   // increase the possibility to enable more alerts, because alert_handler only sends ping on
   // enabled alerts
   constraint enable_one_alert_c {
-    alert_en dist {'b1111 := 9, [0:'b1110] := 1};
+    alert_en dist {'b1111 :/ 9, [0:'b1110] :/ 1};
   }
 
   constraint sig_int_c {
diff --git a/hw/ip/alert_handler/dv/env/seq_lib/alert_handler_ping_rsp_fail_vseq.sv b/hw/ip/alert_handler/dv/env/seq_lib/alert_handler_ping_rsp_fail_vseq.sv
index 28e7cc5..2375677 100644
--- a/hw/ip/alert_handler/dv/env/seq_lib/alert_handler_ping_rsp_fail_vseq.sv
+++ b/hw/ip/alert_handler/dv/env/seq_lib/alert_handler_ping_rsp_fail_vseq.sv
@@ -11,7 +11,7 @@
 
   constraint sig_int_c {
     esc_int_err == '1;
-    esc_standalone_int_err dist {0 := 9, [1:'b1111] := 1};
+    esc_standalone_int_err dist {0 :/ 9, [1:'b1111] :/ 1};
   }
 
 endclass : alert_handler_ping_rsp_fail_vseq
diff --git a/hw/ip/alert_handler/dv/env/seq_lib/alert_handler_random_alerts_vseq.sv b/hw/ip/alert_handler/dv/env/seq_lib/alert_handler_random_alerts_vseq.sv
index af24ff4..7c39b07 100644
--- a/hw/ip/alert_handler/dv/env/seq_lib/alert_handler_random_alerts_vseq.sv
+++ b/hw/ip/alert_handler/dv/env/seq_lib/alert_handler_random_alerts_vseq.sv
@@ -9,11 +9,6 @@
 
   `uvm_object_new
 
-  constraint clr_en_c {
-    clr_en      == 0;
-    lock_bit_en == 0;
-  }
-
   function void pre_randomize();
     this.enable_one_alert_c.constraint_mode(0);
   endfunction
diff --git a/hw/ip/alert_handler/dv/env/seq_lib/alert_handler_sanity_vseq.sv b/hw/ip/alert_handler/dv/env/seq_lib/alert_handler_sanity_vseq.sv
index c97ddc3..e412ae6 100644
--- a/hw/ip/alert_handler/dv/env/seq_lib/alert_handler_sanity_vseq.sv
+++ b/hw/ip/alert_handler/dv/env/seq_lib/alert_handler_sanity_vseq.sv
@@ -40,8 +40,8 @@
   }
 
   constraint clr_and_lock_en_c {
-    clr_en      dist {0 := 8, [1:'b1111] := 2};
-    lock_bit_en dist {0 := 8, [1:'b1111] := 2};
+    clr_en      dist {0 :/ 6, [1:'b1111] :/ 4};
+    lock_bit_en dist {0 :/ 6, [1:'b1111] :/ 4};
   }
 
   constraint enable_one_alert_c {
