Thanks for your reply,

You are correct in that the term

`(exp(zeta_W_HAT*w_HAT)-1)*W_HAT-zeta_W_HAT*(W_HAT-1))^(phi_W_HAT-1)`

evaluates to zero in the steady state (note: w_HAT=0, but W_HAT=1), but division by zero does not occur, because as you rightly calculated phi_W_HAT-1=0.2 (since the initialised value is equal to 1.2). And more importantly, even if phi_W_HAT was =1, the next term:

`(exp(zeta_W_HAT*w_HAT)-1)`

Multiplies the term that you’ve outlined. Both of them evaluate to 0 in the steady state and thus division by zero does not occur. So, unfortunately, I don’t think this is the problem.

However, I tried to use the initval command, and it seems to point to the steady state of hours:

```
Attempted to access params(38); index out of bounds because numel(params)=36.
Error in NL_ERPT_DSGE_steadystate2 (line 6)
ys_(5)=((1-params(2)*params(38))/params(39)*(1/(1-params(4)-params(3))*(ys_(28)^params(12)-params(5)*params(3)*(1-params(3)*(1-ys_(28)^(1-params(12))))^(params(12)/(1-params(12))))/(1-params(3)*(1-ys_(28)^(1-params(12))))^(params(12)/(1-params(12))))^params(37))^(1/(params(38)+params(37)));
Error in evaluate_steady_state_file (line 54)
[ys,params1,check] = h_steadystate(ys_init, exo_ss, params);
Error in evaluate_steady_state (line 58)
[ys,params,info] = evaluate_steady_state_file(ys_init,exo_ss,M, ...
Error in resid (line 55)
[oo_.steady_state,M_.params,info] = ...
Error in NL_ERPT_DSGE (line 666)
resid(1);
Error in dynare (line 180)
evalin('base',fname) ;
```

As if there were 38 parameters that were entered in the steady state model block, though 36 of which were declared. I thoroughly checked both the steady state and the model blocks, but I can’t find any parameters that were not initialised. Do you have any further suggestions? Thank you.