diff --git a/hw/dv/sv/kmac_app_agent/kmac_app_agent.sv b/hw/dv/sv/kmac_app_agent/kmac_app_agent.sv
index 0c1625f..91f8a08 100644
--- a/hw/dv/sv/kmac_app_agent/kmac_app_agent.sv
+++ b/hw/dv/sv/kmac_app_agent/kmac_app_agent.sv
@@ -31,8 +31,6 @@
     // create push_agent, agent_cfg
     m_data_push_agent = push_pull_agent#(`CONNECT_DATA_WIDTH)::type_id::create(
         "m_data_push_agent", this);
-    cfg.m_data_push_agent_cfg = push_pull_agent_cfg#(`CONNECT_DATA_WIDTH)::type_id::create(
-        "m_data_push_agent_cfg");
     cfg.m_data_push_agent_cfg.is_active  = cfg.is_active;
     cfg.m_data_push_agent_cfg.agent_type = PushAgent;
     cfg.m_data_push_agent_cfg.if_mode    = cfg.if_mode;
diff --git a/hw/dv/sv/kmac_app_agent/kmac_app_agent_cfg.sv b/hw/dv/sv/kmac_app_agent/kmac_app_agent_cfg.sv
index 9c71d95..7ea0363 100644
--- a/hw/dv/sv/kmac_app_agent/kmac_app_agent_cfg.sv
+++ b/hw/dv/sv/kmac_app_agent/kmac_app_agent_cfg.sv
@@ -23,14 +23,15 @@
   // Knob to enable percentage of error response in auto-response sequence
   int unsigned error_rsp_pct = 0;
 
+  rand push_pull_agent_cfg#(`CONNECT_DATA_WIDTH) m_data_push_agent_cfg;
+
   // Bias randomization in favor of enabling zero delays less often.
   constraint zero_delays_c {
     zero_delays dist { 0 := 8,
                        1 := 2 };
+    m_data_push_agent_cfg.zero_delays == zero_delays;
   }
 
-  push_pull_agent_cfg#(`CONNECT_DATA_WIDTH) m_data_push_agent_cfg;
-
   `uvm_object_utils_begin(kmac_app_agent_cfg)
     `uvm_field_int(rsp_delay_min,            UVM_DEFAULT)
     `uvm_field_int(rsp_delay_max,            UVM_DEFAULT)
@@ -38,6 +39,10 @@
     `uvm_field_int(start_default_device_seq, UVM_DEFAULT)
   `uvm_object_utils_end
 
-  `uvm_object_new
+  function new (string name = "");
+    super.new(name);
+    m_data_push_agent_cfg = push_pull_agent_cfg#(`CONNECT_DATA_WIDTH)::type_id::create(
+        "m_data_push_agent_cfg");
+  endfunction : new
 
 endclass
diff --git a/hw/dv/sv/kmac_app_agent/kmac_app_intf.sv b/hw/dv/sv/kmac_app_agent/kmac_app_intf.sv
index 67b1a88..c293017 100644
--- a/hw/dv/sv/kmac_app_agent/kmac_app_intf.sv
+++ b/hw/dv/sv/kmac_app_agent/kmac_app_intf.sv
@@ -47,7 +47,7 @@
   assign kmac_data_req = (if_mode == dv_utils_pkg::Host) ?
                          {req_data_if.valid, req_data_if.h_data} : 'z;
   assign {req_data_if.valid, req_data_if.h_data} = (if_mode == dv_utils_pkg::Device) ?
-                                                 kmac_data_req : 'z;
+                                                   kmac_data_req : 'z;
 
   assign {req_data_if.ready, rsp_done, rsp_digest_share0, rsp_digest_share1, rsp_error} =
          (if_mode == dv_utils_pkg::Host) ? kmac_data_rsp : 'z;
