diff --git a/dependencies.yml b/dependencies.yml
index 04b2b8c75b3e5fa8811d2d0c23326011cde9b384..04f31e9ca155037fa267202e2c77816f6b33c1cf 100644
--- a/dependencies.yml
+++ b/dependencies.yml
@@ -1,7 +1,7 @@
 ---
 sources:
     emp-fwk:
-        branch: master
+        commit: b84d1324
         url: https://gitlab.cern.ch/p2-xware/firmware/emp-fwk.git
 
     ttc_legacy:
diff --git a/top/addr_table/emp_payload.xml b/top/addr_table/emp_payload.xml
index e15f37b249ba3eaec7c176fd846098d90a970a9e..15d20dcb009db551c6e412d035ca5f23fb510146 100644
--- a/top/addr_table/emp_payload.xml
+++ b/top/addr_table/emp_payload.xml
@@ -7,7 +7,8 @@
     <node id="csr" address="0x00004" description="Histogram control and status" fwinfo="endpoint;width=2">
         <node id="windowL" address="0x0"/>
         <node id="windowH" address="0x1" mask="0x000f"/>
-        <node id="histogram_sel" address="0x1" mask="0xfff0"/>
+        <node id="histogram_enable" address="0x1" mask="0x0010"/>
+        <node id="histogram_sel" address="0x1" mask="0xffe0"/>
         <node id="histogram0" address="0x2"/>
         <node id="histogram1" address="0x3"/>
     </node>
diff --git a/top/firmware/hdl/emp_payload.vhd b/top/firmware/hdl/emp_payload.vhd
index 27adb74655695d10c7980170802bc8a22c919a51..f3205a472714bb61a134e151946996ef63a9cd21 100644
--- a/top/firmware/hdl/emp_payload.vhd
+++ b/top/firmware/hdl/emp_payload.vhd
@@ -84,6 +84,7 @@ signal max_value0, max_value1  : std_logic_vector(bin_width - 1 downto 0) := (ot
 signal histogram_reset         : std_logic                                := '0';
 signal hist0_stub, hist1_stub  : lword                                    := LWORD_NULL;
 signal histogram_sel           : integer                                  := 0;
+signal histogram_enable        : std_logic                                := '0';
 type tHeaderStartArray is array(cNumberOfFEModules - 1 downto 0) of std_logic_vector(1 downto 0);
 signal header_start_array      : tHeaderStartArray                        := (others => (others => '0'));
 signal aggregated_stubs        : ldata(7 downto 0)                        := (others => LWORD_NULL);
@@ -257,7 +258,8 @@ status_registers(1)(bin_width - 1 downto 0)   <= max_value1;
 
 trigger_window_lower  <= control_registers(0);
 trigger_window_upper  <= control_registers(1)(3 downto 0);
-histogram_sel         <= to_integer(unsigned(control_registers(1)(15 downto 4)));
+histogram_enable      <= control_registers(1)(4);
+histogram_sel         <= to_integer(unsigned(control_registers(1)(15 downto 5)));
 trigger_window        <= trigger_window_upper & trigger_window_lower;
 
 
@@ -280,7 +282,7 @@ pHistogram: process(clk_p)
 --==============================--
 begin
     if rising_edge(clk_p) then
-        if stubs(histogram_sel).valid = '1' then
+        if stubs(histogram_sel).valid = '1' and histogram_enable = '1' then
             if stubs(histogram_sel).data(46) = '0' then
                 hist0_stub <= stubs(histogram_sel);
                 hist1_stub <= LWORD_NULL;