diff --git a/hw/ip/csrng/rtl/csrng_cmd_stage.sv b/hw/ip/csrng/rtl/csrng_cmd_stage.sv
index ec988fa..f6e4687 100644
--- a/hw/ip/csrng/rtl/csrng_cmd_stage.sv
+++ b/hw/ip/csrng/rtl/csrng_cmd_stage.sv
@@ -90,6 +90,8 @@
   logic                    cmd_gen_flag_q, cmd_gen_flag_d;
   logic [11:0]             cmd_gen_cmd_q, cmd_gen_cmd_d;
 
+  logic                    local_escalate;
+
 
   always_ff @(posedge clk_i or negedge rst_ni)
     if (!rst_ni) begin
@@ -194,6 +196,8 @@
     .err_o(cmd_gen_cnt_err_o)
   );
 
+  // For naming consistency
+  assign local_escalate = cmd_gen_cnt_err_o;
 
   //---------------------------------------------------------
   // state machine to process command
@@ -254,87 +258,139 @@
     cmd_stage_sm_err_o = 1'b0;
     unique case (state_q)
       Idle: begin
-        if (!cmd_fifo_zero) begin
-          state_d = ArbGnt;
+        if (local_escalate) begin
+          state_d = Error;
+        end else if (cs_enable_i) begin
+          if (!cmd_fifo_zero) begin
+            state_d = ArbGnt;
+          end
         end
       end
       ArbGnt: begin
-        cmd_arb_req_o = 1'b1;
-        if (cmd_arb_gnt_i) begin
-          state_d = SendSOP;
+        if (local_escalate) begin
+          state_d = Error;
+        end else if (!cs_enable_i) begin
+          state_d = Idle;
+        end else begin
+          cmd_arb_req_o = 1'b1;
+          if (cmd_arb_gnt_i) begin
+            state_d = SendSOP;
+          end
         end
       end
       SendSOP: begin
-        cmd_gen_1st_req = 1'b1;
-        cmd_arb_sop_o = 1'b1;
-        cmd_fifo_pop = 1'b1;
-        if (sfifo_cmd_rdata[24:12] == GenBitsCntrWidth'(1)) begin
-          cmd_gen_cnt_last = 1'b1;
-        end
-        if (cmd_len == '0) begin
-          cmd_arb_eop_o = 1'b1;
-          state_d = GenCmdChk;
+        if (local_escalate) begin
+          state_d = Error;
+        end else if (!cs_enable_i) begin
+          state_d = Idle;
         end else begin
-          state_d = SendMOP;
-        end
-      end
-      SendMOP: begin
-        if (!cmd_fifo_zero) begin
+          cmd_gen_1st_req = 1'b1;
+          cmd_arb_sop_o = 1'b1;
           cmd_fifo_pop = 1'b1;
-          cmd_len_dec = 1'b1;
-          if (cmd_len_q == 4'h1) begin
-            cmd_arb_mop_o = 1'b1;
+          if (sfifo_cmd_rdata[24:12] == GenBitsCntrWidth'(1)) begin
+            cmd_gen_cnt_last = 1'b1;
+          end
+          if (cmd_len == '0) begin
             cmd_arb_eop_o = 1'b1;
             state_d = GenCmdChk;
           end else begin
-            cmd_arb_mop_o = 1'b1;
+            state_d = SendMOP;
+          end
+        end
+      end
+      SendMOP: begin
+        if (local_escalate) begin
+          state_d = Error;
+        end else if (!cs_enable_i) begin
+          state_d = Idle;
+        end else begin
+          if (!cmd_fifo_zero) begin
+            cmd_fifo_pop = 1'b1;
+            cmd_len_dec = 1'b1;
+            if (cmd_len_q == 4'h1) begin
+              cmd_arb_mop_o = 1'b1;
+              cmd_arb_eop_o = 1'b1;
+              state_d = GenCmdChk;
+            end else begin
+              cmd_arb_mop_o = 1'b1;
+            end
           end
         end
       end
       GenCmdChk: begin
-        if (cmd_gen_flag_q) begin
-          cmd_gen_cnt_dec= 1'b1;
+        if (local_escalate) begin
+          state_d = Error;
+        end else if (!cs_enable_i) begin
+          state_d = Idle;
+        end else begin
+          if (cmd_gen_flag_q) begin
+            cmd_gen_cnt_dec= 1'b1;
+          end
+          state_d = CmdAck;
         end
-        state_d = CmdAck;
       end
       CmdAck: begin
-        if (cmd_ack_i) begin
-          state_d = GenReq;
+        if (local_escalate) begin
+          state_d = Error;
+        end else if (!cs_enable_i) begin
+          state_d = Idle;
+        end else begin
+          if (cmd_ack_i) begin
+            state_d = GenReq;
+          end
         end
       end
       GenReq: begin
-        // flag set if a gen request
-        if (cmd_gen_flag_q) begin
-          // must stall if genbits fifo is not clear
-          if (!sfifo_genbits_full) begin
-            if (cmd_gen_cnt == '0) begin
-              cmd_final_ack = 1'b1;
-              state_d = Idle;
-            end else begin
-              // issue a subsequent gen request
-              state_d = GenArbGnt;
-            end
-          end
-        end else begin
-          // ack for the non-gen request case
-          cmd_final_ack = 1'b1;
+        if (local_escalate) begin
+          state_d = Error;
+        end else if (!cs_enable_i) begin
           state_d = Idle;
+        end else begin
+          // flag set if a gen request
+          if (cmd_gen_flag_q) begin
+            // must stall if genbits fifo is not clear
+            if (!sfifo_genbits_full) begin
+              if (cmd_gen_cnt == '0) begin
+                cmd_final_ack = 1'b1;
+                state_d = Idle;
+              end else begin
+                // issue a subsequent gen request
+                state_d = GenArbGnt;
+              end
+            end
+          end else begin
+            // ack for the non-gen request case
+            cmd_final_ack = 1'b1;
+            state_d = Idle;
+          end
         end
       end
       GenArbGnt: begin
-        cmd_arb_req_o = 1'b1;
-        if (cmd_arb_gnt_i) begin
-          state_d = GenSOP;
+        if (local_escalate) begin
+          state_d = Error;
+        end else if (!cs_enable_i) begin
+          state_d = Idle;
+        end else begin
+          cmd_arb_req_o = 1'b1;
+          if (cmd_arb_gnt_i) begin
+            state_d = GenSOP;
+          end
         end
       end
       GenSOP: begin
-        cmd_arb_sop_o = 1'b1;
-        cmd_arb_eop_o = 1'b1;
-        cmd_gen_inc_req = 1'b1;
-        state_d = GenCmdChk;
-        // check for final genbits beat
-        if (cmd_gen_cnt == GenBitsCntrWidth'(1)) begin
-          cmd_gen_cnt_last = 1'b1;
+        if (local_escalate) begin
+          state_d = Error;
+        end else if (!cs_enable_i) begin
+          state_d = Idle;
+        end else begin
+          cmd_arb_sop_o = 1'b1;
+          cmd_arb_eop_o = 1'b1;
+          cmd_gen_inc_req = 1'b1;
+          state_d = GenCmdChk;
+          // check for final genbits beat
+          if (cmd_gen_cnt == GenBitsCntrWidth'(1)) begin
+            cmd_gen_cnt_last = 1'b1;
+          end
         end
       end
       Error: begin
diff --git a/hw/ip/csrng/rtl/csrng_main_sm.sv b/hw/ip/csrng/rtl/csrng_main_sm.sv
index c7eb613..dcf02c0 100644
--- a/hw/ip/csrng/rtl/csrng_main_sm.sv
+++ b/hw/ip/csrng/rtl/csrng_main_sm.sv
@@ -53,6 +53,9 @@
     main_sm_err_o = 1'b0;
     unique case (state_q)
       Idle: begin
+        if (local_escalate_i) begin
+          state_d = Error;
+        end else
         if (enable_i) begin
           if (ctr_drbg_cmd_req_rdy_i) begin
             // signal the arbiter to grant this request
@@ -64,7 +67,9 @@
         end
       end
       ParseCmd: begin
-        if (!enable_i) begin
+        if (local_escalate_i) begin
+          state_d = Error;
+        end else if (!enable_i) begin
           state_d = Idle;
         end else begin
           if (ctr_drbg_cmd_req_rdy_i) begin
@@ -96,7 +101,9 @@
         end
       end
       InstantPrep: begin
-        if (!enable_i) begin
+        if (local_escalate_i) begin
+          state_d = Error;
+        end else if (!enable_i) begin
           state_d = Idle;
         end else begin
           if (flag0_i) begin
@@ -112,7 +119,9 @@
         end
       end
       InstantReq: begin
-        if (!enable_i) begin
+        if (local_escalate_i) begin
+          state_d = Error;
+        end else if (!enable_i) begin
           state_d = Idle;
         end else begin
           instant_req_o = 1'b1;
@@ -120,7 +129,9 @@
         end
       end
       ReseedPrep: begin
-        if (!enable_i) begin
+        if (local_escalate_i) begin
+          state_d = Error;
+        end else if (!enable_i) begin
           state_d = Idle;
         end else begin
           if (flag0_i) begin
@@ -136,7 +147,9 @@
         end
       end
       ReseedReq: begin
-        if (!enable_i) begin
+        if (local_escalate_i) begin
+          state_d = Error;
+        end else if (!enable_i) begin
           state_d = Idle;
         end else begin
           reseed_req_o = 1'b1;
@@ -144,7 +157,9 @@
         end
       end
       GeneratePrep: begin
-        if (!enable_i) begin
+        if (local_escalate_i) begin
+          state_d = Error;
+        end else if (!enable_i) begin
           state_d = Idle;
         end else begin
           // assumes all adata is present now
@@ -152,7 +167,9 @@
         end
       end
       GenerateReq: begin
-        if (!enable_i) begin
+        if (local_escalate_i) begin
+          state_d = Error;
+        end else if (!enable_i) begin
           state_d = Idle;
         end else begin
           generate_req_o = 1'b1;
@@ -160,7 +177,9 @@
         end
       end
       UpdatePrep: begin
-        if (!enable_i) begin
+        if (local_escalate_i) begin
+          state_d = Error;
+        end else if (!enable_i) begin
           state_d = Idle;
         end else begin
           // assumes all adata is present now
@@ -168,7 +187,9 @@
         end
       end
       UpdateReq: begin
-        if (!enable_i) begin
+        if (local_escalate_i) begin
+          state_d = Error;
+        end else if (!enable_i) begin
           state_d = Idle;
         end else begin
           update_req_o = 1'b1;
@@ -176,7 +197,9 @@
         end
       end
       UninstantPrep: begin
-        if (!enable_i) begin
+        if (local_escalate_i) begin
+          state_d = Error;
+        end else if (!enable_i) begin
           state_d = Idle;
         end else begin
           // assumes all adata is present now
@@ -184,7 +207,9 @@
         end
       end
       UninstantReq: begin
-        if (!enable_i) begin
+        if (local_escalate_i) begin
+          state_d = Error;
+        end else if (!enable_i) begin
           state_d = Idle;
         end else begin
           uninstant_req_o = 1'b1;
@@ -192,7 +217,9 @@
         end
       end
       ClrAData: begin
-        if (!enable_i) begin
+        if (local_escalate_i) begin
+          state_d = Error;
+        end else if (!enable_i) begin
           state_d = Idle;
         end else begin
           clr_adata_packer_o = 1'b1;
@@ -200,7 +227,9 @@
         end
       end
       CmdCompWait: begin
-        if (!enable_i) begin
+        if (local_escalate_i) begin
+          state_d = Error;
+        end else if (!enable_i) begin
           state_d = Idle;
         end else begin
           if (cmd_complete_i) begin
@@ -213,9 +242,6 @@
       end
       default: state_d = Error;
     endcase
-    if (local_escalate_i) begin
-      state_d = Error;
-    end
   end
 
 endmodule
diff --git a/hw/ip/edn/rtl/edn_main_sm.sv b/hw/ip/edn/rtl/edn_main_sm.sv
index ee7ce1f..329034d 100644
--- a/hw/ip/edn/rtl/edn_main_sm.sv
+++ b/hw/ip/edn/rtl/edn_main_sm.sv
@@ -104,7 +104,9 @@
     main_sm_err_o = 1'b0;
     unique case (state_q)
       Idle: begin
-        if (boot_req_mode_i && edn_enable_i) begin
+        if (local_escalate_i) begin
+          state_d = Error;
+        end else if (boot_req_mode_i && edn_enable_i) begin
           state_d = BootLoadIns;
         end else if (auto_req_mode_i && edn_enable_i) begin
           state_d = AutoLoadIns;
@@ -114,15 +116,31 @@
         end
       end
       BootLoadIns: begin
-        boot_wr_cmd_reg_o = 1'b1;
-        state_d = BootLoadGen;
+        if (local_escalate_i) begin
+          state_d = Error;
+        end else if (!edn_enable_i) begin
+          state_d = Idle;
+        end
+        else begin
+          boot_wr_cmd_reg_o = 1'b1;
+          state_d = BootLoadGen;
+        end
       end
       BootLoadGen: begin
-        boot_wr_cmd_genfifo_o = 1'b1;
-        state_d = BootInsAckWait;
+        if (local_escalate_i) begin
+          state_d = Error;
+        end else if (!edn_enable_i) begin
+          state_d = Idle;
+        end
+        else begin
+          boot_wr_cmd_genfifo_o = 1'b1;
+          state_d = BootInsAckWait;
+        end
       end
       BootInsAckWait: begin
-        if (!edn_enable_i) begin
+        if (local_escalate_i) begin
+          state_d = Error;
+        end else if (!edn_enable_i) begin
           state_d = Idle;
         end else begin
           if (csrng_cmd_ack_i) begin
@@ -131,21 +149,32 @@
         end
       end
       BootCaptGenCnt: begin
-        capt_gencmd_fifo_cnt_o = 1'b1;
-        state_d = BootSendGenCmd;
+        if (local_escalate_i) begin
+          state_d = Error;
+        end else if (!edn_enable_i) begin
+          state_d = Idle;
+        end
+        else begin
+          capt_gencmd_fifo_cnt_o = 1'b1;
+          state_d = BootSendGenCmd;
+        end
       end
       BootSendGenCmd: begin
-        boot_send_gencmd_o = 1'b1;
-        if (!edn_enable_i) begin
+        if (local_escalate_i) begin
+          state_d = Error;
+        end else if (!edn_enable_i) begin
           state_d = Idle;
         end else begin
+          boot_send_gencmd_o = 1'b1;
           if (cmd_sent_i) begin
             state_d = BootGenAckWait;
           end
         end
       end
       BootGenAckWait: begin
-        if (!edn_enable_i) begin
+        if (local_escalate_i) begin
+          state_d = Error;
+        end else if (!edn_enable_i) begin
           state_d = Idle;
         end else begin
           if (csrng_cmd_ack_i) begin
@@ -154,31 +183,43 @@
         end
       end
       BootPulse: begin
-        main_sm_done_pulse_o = 1'b1;
-        state_d = BootDone;
+        if (local_escalate_i) begin
+          state_d = Error;
+        end else if (!edn_enable_i) begin
+          state_d = Idle;
+        end else begin
+          main_sm_done_pulse_o = 1'b1;
+          state_d = BootDone;
+        end
       end
       BootDone: begin
-        if (!edn_enable_i) begin
+        if (local_escalate_i) begin
+          state_d = Error;
+        end else if (!edn_enable_i) begin
           state_d = Idle;
         end
       end
       //-----------------------------------
       AutoLoadIns: begin
-        auto_set_intr_gate_o = 1'b1;
-        auto_first_ack_wait_o = 1'b1;
-        if (!edn_enable_i) begin
+        if (local_escalate_i) begin
+          state_d = Error;
+        end else if (!edn_enable_i) begin
           state_d = Idle;
         end else begin
+          auto_set_intr_gate_o = 1'b1;
+          auto_first_ack_wait_o = 1'b1;
           if (sw_cmd_req_load_i) begin
             state_d = AutoFirstAckWait;
           end
         end
       end
       AutoFirstAckWait: begin
-        auto_first_ack_wait_o = 1'b1;
-        if (!edn_enable_i) begin
+        if (local_escalate_i) begin
+          state_d = Error;
+        end else if (!edn_enable_i) begin
           state_d = Idle;
         end else begin
+          auto_first_ack_wait_o = 1'b1;
           if (csrng_cmd_ack_i) begin
             auto_clr_intr_gate_o = 1'b1;
             state_d = AutoDispatch;
@@ -186,20 +227,24 @@
         end
       end
       AutoAckWait: begin
-        auto_req_mode_busy_o = 1'b1;
-        if (!edn_enable_i) begin
+        if (local_escalate_i) begin
+          state_d = Error;
+        end else if (!edn_enable_i) begin
           state_d = Idle;
         end else begin
+          auto_req_mode_busy_o = 1'b1;
           if (csrng_cmd_ack_i) begin
             state_d = AutoDispatch;
           end
         end
       end
       AutoDispatch: begin
-        auto_req_mode_busy_o = 1'b1;
-        if (!edn_enable_i) begin
+        if (local_escalate_i) begin
+          state_d = Error;
+        end else if (!edn_enable_i) begin
           state_d = Idle;
         end else begin
+          auto_req_mode_busy_o = 1'b1;
           if (!auto_req_mode_i) begin
             main_sm_done_pulse_o = 1'b1;
             state_d = Idle;
@@ -213,39 +258,57 @@
         end
       end
       AutoCaptGenCnt: begin
-        auto_req_mode_busy_o = 1'b1;
-        capt_gencmd_fifo_cnt_o = 1'b1;
-        state_d = AutoSendGenCmd;
-      end
-      AutoSendGenCmd: begin
-        auto_req_mode_busy_o = 1'b1;
-        send_gencmd_o = 1'b1;
-        if (!edn_enable_i) begin
+        if (local_escalate_i) begin
+          state_d = Error;
+        end else if (!edn_enable_i) begin
           state_d = Idle;
         end else begin
+          auto_req_mode_busy_o = 1'b1;
+          capt_gencmd_fifo_cnt_o = 1'b1;
+          state_d = AutoSendGenCmd;
+        end
+      end
+      AutoSendGenCmd: begin
+        if (local_escalate_i) begin
+          state_d = Error;
+        end else if (!edn_enable_i) begin
+          state_d = Idle;
+        end else begin
+          auto_req_mode_busy_o = 1'b1;
+          send_gencmd_o = 1'b1;
           if (cmd_sent_i) begin
             state_d = AutoAckWait;
           end
         end
       end
       AutoCaptReseedCnt: begin
-        auto_req_mode_busy_o = 1'b1;
-        capt_rescmd_fifo_cnt_o = 1'b1;
-        state_d = AutoSendReseedCmd;
-      end
-      AutoSendReseedCmd: begin
-        auto_req_mode_busy_o = 1'b1;
-        send_rescmd_o = 1'b1;
-        if (!edn_enable_i) begin
+        if (local_escalate_i) begin
+          state_d = Error;
+        end else if (!edn_enable_i) begin
           state_d = Idle;
         end else begin
+          auto_req_mode_busy_o = 1'b1;
+          capt_rescmd_fifo_cnt_o = 1'b1;
+          state_d = AutoSendReseedCmd;
+        end
+      end
+      AutoSendReseedCmd: begin
+        if (local_escalate_i) begin
+          state_d = Error;
+        end else if (!edn_enable_i) begin
+          state_d = Idle;
+        end else begin
+          auto_req_mode_busy_o = 1'b1;
+          send_rescmd_o = 1'b1;
           if (cmd_sent_i) begin
             state_d = AutoAckWait;
           end
         end
       end
       SWPortMode: begin
-        if (!edn_enable_i) begin
+        if (local_escalate_i) begin
+          state_d = Error;
+        end else if (!edn_enable_i) begin
           state_d = Idle;
         end
       end
@@ -254,9 +317,6 @@
       end
       default: state_d = Error;
     endcase
-    if (local_escalate_i) begin
-      state_d = Error;
-    end
   end
 
 endmodule
