diff --git a/matlab/+occbin/mkdata.m b/matlab/+occbin/mkdata.m
index 303ff1ef6c2c3764871a42e4d904f6714f83daf0..40af37863da2698c744de0609f67675e894f1c40 100644
--- a/matlab/+occbin/mkdata.m
+++ b/matlab/+occbin/mkdata.m
@@ -30,7 +30,7 @@ function [data_mat]=mkdata(n_periods,dr_A,dr_B,endo_names,exo_names,wish_list,sh
 % given decision rule
 neqs = size(endo_names,1);
 
-if nargin<9
+if nargin<9 || isempty(var_init)
     var_init = zeros(neqs,1);
 end
 
diff --git a/matlab/+occbin/mkdatap_anticipated_dyn.m b/matlab/+occbin/mkdatap_anticipated_dyn.m
index b361c62f411225ab1a0d061181fec2887e7b7d72..f680851925abe8d53438d5bf5796f23a66bd69ff 100644
--- a/matlab/+occbin/mkdatap_anticipated_dyn.m
+++ b/matlab/+occbin/mkdatap_anticipated_dyn.m
@@ -48,7 +48,7 @@ T = DM.decrulea;
 CONST = zeros(n_vars,1);
 R = DM.decruleb;
 
-if nargin<7
+if nargin<7 || isempty(init)
     init=zeros(n_vars,1);
 end