I just finished your solution today, and the only mistake was that the load signal should depend on enable too.
assign c_load = (reset || (Q == 4'hc && enable)) ? 1 : 0;
With this little modification the signals became correct.